我Postgresql 9.1
在 Ubuntu 上运行。确切的 Postgresql 版本9.1+129ubuntu1
如我的包管理器所示。
我有 2 个正在使用中的数据库,它们是从远程服务器使用的。
我希望记录执行时间较长的查询。所以我在/etc/postgresql/9.1/main/postgresql.conf
文件中设置了以下参数
log_min_duration_statement = 10000
log_statement = 'mod'
因此 Postgresql 将记录耗时超过 10 秒的查询。
但是当我reload
配置 postgres 时,Postgresql 开始记录每个符合log_statement
值的查询。我将持续时间设置为 100 秒以确保
log_min_duration_statement = 100000
但是 Postgresql 会不断记录每个符合log_statement
值的查询,而不管log_min_duration_statement
值如何。
设置log_statement
为none
似乎停止记录。
关于配置,我有什么遗漏的吗?
你很亲密。您的最后一个想法实际上是要走的路:
然后不会记录任何语句,除了那些运行时间超过 10 秒的语句 - 包括查询字符串本身。日志记录似乎已经停止,因为 10 秒是一个高阈值。我通常使用 2 秒,但是 YMMV。
这个关于 SO 的相关答案有更多: