问题产生实际情况:
数据库被强制干掉,空间涨到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. 参数设置要谨慎。