如何解决PG数据库告警日志占用空间过大
一 问题
当postgresql数据库启用告警日志时占用空间过大,需要对相关参数进行优化。
二 解决方案
修改告警日志的级别
1参数文件postgresql.conf里修改参数log_min_messages
控制哪些消息级别被写入到服务器日志。
有效值是DEBUG5、DEBUG4、DEBUG3、DEBUG2、DEBUG1、INFO、NOTICE、WARNING、ERROR、LOG、FATAL和 PANIC。每个级别都包括其后的所有级别。级别越靠后,被记录的消息越少。
级别介绍如下
DEBUG1..DEBUG5:极端情况下提供连续的更详细的信息。
INFO:提供用户隐式要求的信息,例如来自VACUUM VERBOSE的输出。
NOTICE:提供可能对用户有用的信息,例如长标识符截断提示。
WARNING:提供可能出现的问题的警告,例如在一个事务块外COMMIT。
ERROR:报告一个导致当前命令中断的错误。
LOG:报告管理员一般需要的信息,例如检查点活动。
FATAL:报告一个导致当前会话中断的错误。
PANIC:报告一个导致所有数据库会话中断的错误。
2参数文件postgresql.conf里修改参数log_statement
控制哪些SQL语句被记录。有效值是none(off)、ddl、mod和all(所有语句)。ddl记录所有数据定义语句,例如CREATE、ALTER和 DROP语句。mod记录所有ddl语句,外加数据修改语句例如INSERT, UPDATE、DELETE、TRUNCATE, 和COPY FROM。all记录包括select在内的所有语句。
修改告警日志的保留时间
参数文件postgresql.conf里参数log_filename设置日志文件名,结合log_truncate_on_rotation = on使用。可根据自己的需要调整告警日志的保留时间。
log_filename = 'postgresql-%I.log' #最多保存12小时的日志,每小时一个文件
log_filename = 'postgresql-%H.log' #最多保存24小时的日志,每小时一个文件
log_filename = 'postgresql-%w.log' #最多保存一周的日志,每天一个文件
log_filename = 'postgresql-%d.log' #最多保存一个月的日志,每天一个文件
log_filename = 'postgresql-%j.log' #最多保存一年的日志,每天一个文件
如何解决PG数据库告警日志占用空间过大
本文2024-09-23 01:13:13发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-144546.html