千家信息网

PostgreSQL数据库使用 (三)

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,系统: Ubuntu 16.04.4 LTS PostgreSQL数据库: PostgreSQL 10.5varchar(80)指定一种数据类型,可以存储长度最多为80个字符的任意字符串。int是普通
千家信息网最后更新 2025年01月20日PostgreSQL数据库使用 (三)
 系统: Ubuntu 16.04.4 LTS PostgreSQL数据库: PostgreSQL 10.5varchar(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                


0