重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設、域名注冊、服務器等服務
為企業(yè)提供網(wǎng)站建設、域名注冊、服務器等服務
系統(tǒng): Ubuntu 16.04.4 LTS PostgreSQL數(shù)據(jù)庫: PostgreSQL 10.5 varchar(80)指定一種數(shù)據(jù)類型,可以存儲長度最多為80個字符的任意字符串。 int是普通的整數(shù)類型。 real是一種用于存儲單精度浮點數(shù)的類型。 創(chuàng)建數(shù)據(jù)庫: $/data/services/postgresql9/bin/createdb databasename 訪問數(shù)據(jù)庫: $/data/services/postgresql9/bin/psql databasename 安裝命令行工具: # python3 -m pip install pgcli 連接PostgreSQL數(shù)據(jù)庫: # pgcli -h localhost -p 5432 -U postgres -W 查看當前數(shù)據(jù)庫: postgres=# select current_database(); 查看PostgreSQL的版本: SELECT version() 查看日期: SELECT current_date; 從文本中讀取SQL語句: COPY tablename FROM 'SQL file path'; 服務器配置和操作: 使用postgres用戶運行PostgreSQL數(shù)據(jù)庫服務。 1. 管理內(nèi)核資源: 共享內(nèi)存和信號量: SHMMAX 共享內(nèi)存段的最大大小(字節(jié)) SHMMIN 共享內(nèi)存段的最小大小(字節(jié)) 最多32個字節(jié)。 SHMALL 可用共享內(nèi)存總量(字節(jié)或頁數(shù)) SHMSEG 每個進程的最大共享內(nèi)存段數(shù) SHMMNI 系統(tǒng)范圍內(nèi)的最大共享內(nèi)存段數(shù) SEMMNI 信號量標識符的最大數(shù)量(即集合) SEMMNS 系統(tǒng)范圍內(nèi)的最大信號量數(shù) SEMMSL 每組的最大信號量數(shù) SEMMAP 信號量映射中的條目數(shù) SEMVMX 信號量的最大值 PostgreSQL每個允許的連接使用一個信號量(max_connections), 允許autovacuum工作進程(autovacuum_max_workers)和允許后臺進程(max_worker_processes),每組16個。 linux內(nèi)核資源: 默認的最大段大小為32 MB,默認的最大總大小為2097152頁。頁面幾乎總是4096字節(jié). 更改共享內(nèi)存大小設置: $ sysctl -w kernel.shmmax=17179869184 $ sysctl -w kernel.shmall=4194304 限制過度使用內(nèi)存: sysctl -w vm.overcommit_memory = 2 或者: echo -1000 > /proc/self/oom_score_adj 也可以更改/proc文件系統(tǒng)的內(nèi)容: $ echo 17179869184 >/proc/sys/kernel/shmmax $ echo 4194304 >/proc/sys/kernel/shmall 資源限制: /etc/security/limits.conf控制登錄期間設置的各種資源限制 /proc/sys/fs/file-max 確定內(nèi)核將支持的最大打開文件數(shù)。 # cat /data/services/postgresql9/postgresql.pid 110460 檢查postmaster的VmPeak值: # grep ^VmPeak /proc/110460/status 系統(tǒng)的大頁面大小: # grep ^Hugepagesize /proc/meminfo 設置大頁面大小: sysctl -w vm.nr_hugepages=3170 通過sysctl設置vm.hugetlb_shm_group,和/或授予使用ulimit -l鎖定內(nèi)存的權限。 PostgreSQL中大頁面: #cat /data/services/postgresql9/data/postgresql.conf huge_pages = on