基于 PostgreSQL 日志轮换大小

时间:2021-05-02 09:28:19

标签: postgresql logging

我尝试根据大小限制 PostgreSQL 日志。
我试过这样配置日志配置:

log_destination = 'csvlog'
logging_collector = on
log_directory = '/var/log/pgsql'
log_filename = 'postgresql-%a.log'
log_truncate_on_rotation = on 
log_rotation_age = 1d
log_rotation_size = 100kB

日志根据年龄轮换效果很好,但基于大小的轮换似乎不起作用。

我已将日志大小限制为 100kB,但 csv 文件的大小增加到 600MB。 最终,只有一个由“基于大小的轮换”创建的文件,即 1.5MB (postgresql-Sun.csv-20210502.gz)。 如何根据大小使日志轮换工作?

Postgresql 版本 - 12.2

1 个答案:

答案 0 :(得分:1)

根据我的评论,您缺少的部分是 Log rotation log_truncate_on_rotation “但是,仅在由于基于时间的轮换打开新文件时才会发生截断,而不是在服务器启动或基于大小的轮换期间。 ”在该部分中有一个示例,说明如何使用 @jjanes 建议做您想做的事。