postgresql postgres logging_collector同时发送到两个目录

9jyewag0  于 2023-04-29  发布在  PostgreSQL
关注(0)|答案(1)|浏览(110)

在测试postgres服务器的日志记录过程中,我们发现日志同时被发送到两个不同的目录。
这两个地点分别是:

  • /var/lib/postgresql/9.6/main/pg_log/(预期)
  • /var/log/postgresql/(未定义)

postgresql.conf之前更改的设置:

logging_collector = on
log_destination = 'csvlog'

postgresql.conf中的设置未更改,但相关:

log_directory = 'pg_log'
log_truncate_on_rotation = off

我知道这两个目录都是postgres日志记录的标准目录,但同时向这两个目录发送日志似乎不太寻常。
我们测试了一天的日志记录,两组日志都是在那天创建的。

zy1mlcev

zy1mlcev1#

您必须使用PostgreSQL的Debian/Ubuntu软件包。
打包者选择不使用PostgreSQL的logging_collector,而是让进程将消息写入标准错误。然后这些消息被收集到/var/log/postgresql的日志文件中,并对其应用日志循环(请参阅启动脚本了解如何执行此操作)。
现在,如果你像以前一样在PostgreSQL中配置日志,日志将被写入log_directory,但启动过程没有改变:它仍然在/var/log/postgresql中创建一个文件,但现在只有启动后的前几条消息在那里结束,然后PostgreSQL切换到使用它的日志文件。

相关问题