我的磁盘空间每天都被postgresql日志填满。我正在追求的一个优化解决方案是,我应该覆盖原始日志文件(即旋转?),而不是关闭日志。一旦达到一定的大小(例如200 it )。
如何在postgresql.conf中启用这样的设置?我知道一个更好的解决方案是备份所有日志,但现在我想要的就是这个。
发布于 2016-11-21 04:20:24
减少日志级别;例如,关闭log_transaction并将log_statement设置为高于all的内容。使用pg_stat_statements而不是依赖完整的语句日志记录。使用Munin/Cacti/ stats / like来收集系统统计数据,而不是依赖像pgbadger这样的工具来进行日志解析。
如果您在Linux系统上并使用系统logrotate安装,请使用PostgreSQL。它知道如何压缩,然后老化日志。见/etc/logrotate.d/。
PostgreSQL的内置日志旋转,正如您所观察到的,有点有限,并且确实希望通过cronjob或类似的方法来归档和删除它们。但您可以这样做,并使用log_rotation_size。
您也可以登录到syslog。这为您提供了一个像样的syslog (如rsyslogd )的严重性过滤等功能。您可以让它保持ERROR级别的日志很长时间,但是很快就会丢弃INFO和更旧的日志,例如,通过与logrotate一起工作。如果您想要进行长期存档,甚至可以登录到具有丰富磁盘空间的远程syslog服务器。
还有一些商业日志摄取产品,您也可以使用这些产品来为您的日志提供存档和分析。
https://dba.stackexchange.com/questions/155745
复制相似问题