postgres日志爆盘处理方案-转自DBA汪x

背景:我们的服务是一个带有部分批处理业务的服务,在跑历史数据入pg时会有大量日志产出,现场服务器出现过几次爆盘,询问DBA后制定了以下两个方案:

方案一:如果不关心或不会使用pg日志,通过参数控制减少日志的产生量

方案二:如果不得不开启详细日志记录,这种情况避免不了会产生大量日志,考虑将日志转移到其他磁盘的方法

一、控制日志生成

通过参数设置,控制日志生成的内容和格式,以下是一些参考的系统参数设置:

--设置日志最小级别

alter system set log_destination='stderr';         --日志记录类型,默认是stderr,只记录错误输出

alter system set log_duration='off';               --记录SQL执行时间

alter system set log_statement='none';              --None表示不记录,ddl记录所有数据定义命令,mod记录所有ddl语句,加上数据修改语句,all记录所有执行的语句

alter system set log_min_duration_statement='-1'    --记录慢SQL,-1表示不记录

select pg_reload_conf(); --执行后即刻生效,慎用

二、日志移盘

1 、查看日志目录

       进入psql,找到数据目录

 

2 、修改目录

       新建目录并赋予权限:

 

       进入psql,修改日志目录:

 

       查看新目录下生成的日志:

 

 

posted @ 2019-11-28 10:05  鼠标的博客  阅读(368)  评论(0编辑  收藏  举报