对 postgres 日志进行日志轮转

对 postgres 日志进行日志轮转

我的 PostgreSQL 日志以单个文件的形式写入。它变得越来越大,比如 postgresql.log。我可以看到logging_collector设置为ON,log_rotation_age也设置为1天。但它仍然没有轮换日志。

我可以使用 Linux 中的普通 logrotate.conf。但我对向 PID 发送 HUP kill 信号的 postrotate 脚本感到有些困惑。

请告诉我为 postgres 配置 logrotate 的推荐方法。

答案1

logfilename 选项需要一些参数,例如,要保留 7 天的日志,每天一个名为 server_log.Mon、server_log.Tue 等的日志文件,并使用本周的日志自动覆盖上周的日志,请将 log_filename 设置为 server_log.%a,将 log_truncate_on_rotation 设置为 on,将 log_rotation_age 设置为 1440。

这对我有用。

相关内容