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
	
	


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章