首页 > 解决方案 > 为什么 PostgreSQL 查询日志中不显示前置和附加注释?

问题描述

我正在使用 PostgreSQL 9.6.12 并希望记录所有查询。在研究了如何做到这一点后,我更新了postgresql.conf文件并重新启动了 postgres:

logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_min_error_statement = error
log_min_duration_statement = 0

它工作正常,并且有记录的查询/var/lib/postgresql/data/pg_log/postgresql-%Y-%m-%d_%H%M%S.log,但是当我在查询的开头或结尾添加评论时,它不会显示在日志文件中。

示例查询:

/* This comment is not shown in logs */ SELECT * FROM example;

只有在查询中间插入注释时,才会在日志中显示注释:

SELECT * FROM /* This comment is shown in logs */ example;

标签: postgresql

解决方案


您如何提交这些查询?无论您使用什么库来连接数据库,都可能在将评论发送到数据库之前将其剥离,因此数据库无权访问它们。如果我直接使用“psql”或 Perl 的 DBD::Pg 提交查询,它们会按预期工作。


推荐阅读