微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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
	
	


版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐