一个参数引起的血案

问题产生实际情况:

数据库被强制干掉,空间涨到100%。
 
 
 
分析:
经观察发现是由于PG_LOG目录增长过快导致磁盘空间被爆。
 pg_log是如何产生的?
记录数据库运行日志, 内容可读,默认关闭,需要设置参数启动。
1. ERROR信息。
2. 定位慢查询SQL。
3. 数据库的启动关闭信息。
4. PG系统相关警告信息等。
 
根据以上几点,眼前一亮, 慢查询SQL,   我们定的是记录条件是什么呢?
log_min_duration_statement : 
                           # -1 is disabled, 0 logs all statements
                           # and their durations, > 0 logs only
                           # statements running at least this number
                           # of milliseconds    
-1 : 关闭。
0: 记录所有语句。
>0 : 记录大于此参数设置值。
此参数单位毫秒。
 
了解到这些信息后,   去看了日志记录, 几乎全部是SQL,并验证此参数的设置为0.   
 
已找到案件的真凶了, 处理方案如下:
1. 修改此参数设置,大于300S的语句就记录(此系统为OLAP)。
2. 手动删除PG_LOG下的文件。
3. 启动数据库。
 
 
后记:
1. 监控很重要。
2. 参数设置要谨慎。
posted @ 2016-12-28 14:09  SMALL-D  阅读(118)  评论(0)    收藏  举报