windows - PostgreSQL 日志轮换大小达到文件限制
问题描述
我在 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,这样每当我重新启动服务时,日志仍然会在同一个日志文件中。
我是否必须在后台运行一些脚本或服务,以便程序能够监控数据/日志文件夹并在日志文件大小达到限制时重命名文件?
解决方案
正如文档所说:
但是,仅当由于基于时间的轮换而打开新文件时才会发生截断,而不是在服务器启动或基于大小的轮换期间。
在您的情况下截断日志文件将意味着丢失最近的日志信息,因此 PostgreSQL 不会这样做。
我想不出比cron
在接近限制时删除日志文件更好的方法了。然后基于大小的日志轮换将再次创建文件。
推荐阅读
- go - 尝试从多个 go 例程收集数据时出错
- ios - Appcelerator iOS 应用程序:如何从共享扩展中读取钥匙串值?
- python - 从 SQL Python 中提取字节返回字节数组
- python - 参数 1:无法从 'System.Data.SqlClient.SqlDataAdapter' 转换为 'System.Data.DataSet' 并且无法识别列名
- c++ - 使用 -pedantic 编译时采用 std::reference_wrapper 的模棱两可的构造函数
- c# - AndroidApp 和 MySqlConnection 不起作用 connection.open
- python - 无法更新表单中的所需字段
- azure - 如何通过组织帐户或活动目录访问 Azure 服务器
- react-native - 如何正确操作 Reducer 内部的状态
- xml - 如何更改 XML 中的日期格式