postgresql积累

1、编译一个基本的程序使用

gcc -I /usr/pgsql-9.6/include/ -L /usr/pgsql-9.6/lib/ -lpq xxxx.c

2、pg_ctl使用

/usr/pgsql-9.6/bin/pg_ctl reload -D /opt/nsfocus/data/hadoop/vdb/pg_log

su postgres -c "/usr/pgsql-9.6/bin/pg_ctl reload -D /opt/nsfocus/data/hadoop/vdb/pg_log"

su postgres -c "/usr/pgsql-9.6/bin/pg_ctl stop -D /opt/nsfocus/data/hadoop/vdb/pg_log"

su postgres -c "/usr/pgsql-9.6/bin/pg_ctl start -D /opt/nsfocus/data/hadoop/vdb/pg_log"

3、vacuum

没有数据但是占据磁盘空间,说明需要手动vacuum,释放掉已删除数据的空间.

vacuum table名字;

vacuum;

 

vacuum 只是将删除状态的空间释放掉,转换到能够重新使用的状态,但是它不进行空间合并。

vacuum full 将会使空间释放的信息表现在系统级别,其实质是将当前删除记录后面的数据进行移动,使得整体的记录连贯

起来,降低了“高水位标记”。因此它需要lock table。

vacuum analyze 更新统计信息,使得优化器能够选择更好的方案执行sql。

autovacuum 数据库定时自动进行vacuum

 

1、对于有大量update 的表,vacuum full是没有必要的,因为它的空间还会再次增长,所以vacuum就足够了。

2、oracle中同样也有analyze,作用也相同,目前更多的使用的是dbms_stats包。统计信息收集和更新对于系统性能来说非常重要。

oracle在进行imp后自动的对相应数据对象进行统计信息的收集和更新,而postgresql的恢复过程还没有集成到里面,需要手动去执行。

3、适当调大参数maintenance_work_mem,可加快vacuum的执行速度

4、copy命令

COPY user TO '/tmp/data/test.csv' WITH csv;

COPY user_1 FROM '/tmp/data/test.csv' WITH csv;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值