PostgreSQL 日志轮换大小达到文件限制
Posted
技术标签:
【中文标题】PostgreSQL 日志轮换大小达到文件限制【英文标题】:PostgreSQL Log Rotation Size Reached File Limit 【发布时间】: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,这样每当我重新启动服务时,日志仍然会在同一个日志文件中。
我是否必须在后台运行一些脚本或服务,以便程序能够监控数据/日志文件夹并在日志文件大小达到限制时重命名文件?
【问题讨论】:
【参考方案1】:正如the documentation 所说:
但是,由于基于时间的轮换,只有在打开新文件时才会发生截断,而不是在服务器启动或基于大小的轮换期间。
在您的情况下截断日志文件意味着丢失最近的日志信息,因此 PostgreSQL 不会这样做。
我想不出比cron
作业更好的方法了,它会在接近限制时删除日志文件。然后基于大小的日志轮换将再次创建文件。
【讨论】:
我可以和你确认一下,我如何在 Windows 中做到这一点? 我认为 Windows 有“at”工作,但我肯定不是 Windows 专家。以上是关于PostgreSQL 日志轮换大小达到文件限制的主要内容,如果未能解决你的问题,请参考以下文章