【问题标题】:PostgreSQL Log Rotation Size Reached File LimitPostgreSQL 日志轮换大小达到文件限制
【发布时间】:2021-12-17 11:29:49
【问题描述】:

我在 postgreSQL 13 中配置了以下设置。

logging_collector = on  
log_rotation_size='100MB'
log_truncate_on_rotation = on    
log_filename ='postgresql-%Y-%m-%d.log'

我的问题是当日志文件大小达到 100MB 时,它会继续附加在上面,我认为是因为 log_filename。无论如何,当文件名达到 log_rotation_size 时,我可以重命名文件名吗? 我需要用这种格式(不带时间)设置 log_filename,这样每当我重新启动服务时,日志仍然会在同一个日志文件中。

我是否必须在后台运行一些脚本或服务,以便程序能够监控数据/日志文件夹并在日志文件大小达到限制时重命名文件?

【问题讨论】:

    标签: windows postgresql powershell batch-file postgresql-13


    【解决方案1】:

    正如the documentation 所说:

    但是,由于基于时间的轮换,只有在打开新文件时才会发生截断,而不是在服务器启动或基于大小的轮换期间。

    在您的情况下截断日志文件意味着丢失最近的日志信息,因此 PostgreSQL 不会这样做。

    我想不出比cron 作业更好的方法了,它会在接近限制时删除日志文件。然后基于大小的日志轮换将再次创建文件。

    【讨论】:

    • 我可以和你确认一下,我如何在 Windows 中做到这一点?
    • 我认为 Windows 有“at”工作,但我肯定不是 Windows 专家。
    猜你喜欢
    • 1970-01-01
    • 2014-02-01
    • 2012-07-22
    • 2010-12-08
    • 1970-01-01
    • 2015-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多