PostgreSQL数据库使用(三)
系统: Ubuntu 16.04.4 LTS PostgreSQL数据库: PostgreSQL 10.5 varchar(80)指定一种数据类型,可以存储长度最多为80个字符的任意字符串。 int是普通的整数类型。 real是一种用于存储单精度浮点数的类型。 创建数据库: $/data/services/postgresql9/bin/createdb databasename 访问数据库: $/data/services/postgresql9/bin/psql databasename 安装命令行工具: # python3 -m pip install pgcli 连接PostgreSQL数据库: # pgcli -h localhost -p 5432 -U postgres -W 查看当前数据库: postgres=# select current_database(); 查看PostgreSQL的版本: SELECT version() 查看日期: SELECT current_date; 从文本中读取SQL语句: COPY tablename FROM 'SQL file path'; 服务器配置和操作: 使用postgres用户运行PostgreSQL数据库服务。 1. 管理内核资源: 共享内存和信号量: SHMMAX 共享内存段的最大大小(字节) SHMMIN 共享内存段的最小大小(字节) 最多32个字节。 SHMALL 可用共享内存总量(字节或页数) SHMSEG 每个进程的最大共享内存段数 SHMMNI 系统范围内的最大共享内存段数 SEMMNI 信号量标识符的最大数量(即集合) SEMMNS 系统范围内的最大信号量数 SEMMSL 每组的最大信号量数 SEMMAP 信号量映射中的条目数 SEMVMX 信号量的最大值 PostgreSQL每个允许的连接使用一个信号量(max_connections), 允许autovacuum工作进程(autovacuum_max_workers)和允许后台进程(max_worker_processes),每组16个。 linux内核资源: 默认的最大段大小为32 MB,默认的最大总大小为2097152页。页面几乎总是4096字节. 更改共享内存大小设置: $ sysctl -w kernel.shmmax=17179869184 $ sysctl -w kernel.shmall=4194304 限制过度使用内存: sysctl -w vm.overcommit_memory = 2 或者: echo -1000 > /proc/self/oom_score_adj 也可以更改/proc文件系统的内容: $ echo 17179869184 >/proc/sys/kernel/shmmax $ echo 4194304 >/proc/sys/kernel/shmall 资源限制: /etc/security/limits.conf控制登录期间设置的各种资源限制 /proc/sys/fs/file-max 确定内核将支持的最大打开文件数。 # cat /data/services/postgresql9/postgresql.pid 110460 检查postmaster的VmPeak值: # grep ^VmPeak /proc/110460/status 系统的大页面大小: # grep ^Hugepagesize /proc/meminfo 设置大页面大小: sysctl -w vm.nr_hugepages=3170 通过sysctl设置vm.hugetlb_shm_group,和/或授予使用ulimit -l锁定内存的权限。 PostgreSQL中大页面: #cat /data/services/postgresql9/data/postgresql.conf huge_pages = on
名称栏目:PostgreSQL数据库使用(三)
转载来源:http://scyanting.com/article/ieiidi.html