在测试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日志记录的标准目录,但同时向这两个目录发送日志似乎不太寻常。
我们测试了一天的日志记录,两组日志都是在那天创建的。
1条答案
按热度按时间zy1mlcev1#
您必须使用PostgreSQL的Debian/Ubuntu软件包。
打包者选择不使用PostgreSQL的
logging_collector
,而是让进程将消息写入标准错误。然后这些消息被收集到/var/log/postgresql
的日志文件中,并对其应用日志循环(请参阅启动脚本了解如何执行此操作)。现在,如果你像以前一样在PostgreSQL中配置日志,日志将被写入
log_directory
,但启动过程没有改变:它仍然在/var/log/postgresql
中创建一个文件,但现在只有启动后的前几条消息在那里结束,然后PostgreSQL切换到使用它的日志文件。