postgresql - 为什么 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;
解决方案
您如何提交这些查询?无论您使用什么库来连接数据库,都可能在将评论发送到数据库之前将其剥离,因此数据库无权访问它们。如果我直接使用“psql”或 Perl 的 DBD::Pg 提交查询,它们会按预期工作。
推荐阅读
- python - 尝试使用户输入计算器时返回类型错误
- node.js - es6 在同一个项目中混合需要和导入
- c++ - 非 pod 结构行为与 extern C
- typescript - 'Partial 类型的参数
' 不可分配给 'T' 类型的参数 - python - 如何在 OSMnx 中获取给定城市/地区的环岛数量?
- python - 如何对“新型”Django 中间件进行单元测试
- c# - 找不到适用于 Excel 2016 的 Microsoft.Office.Interop.Excel 包
- python - 我收到此错误消息。我以前从未见过
- python-3.x - KeyError(f"None of [{key}] are in the [{axis_name}]") 从 python 3.6 升级到 3.8 后
- r - 用数据框中的字符串名称替换电子邮件地址