pgbadger 在 Fedora 上未找到任何查询

No queries found by pgbadger on Fedora

当 运行 使用此命令时,pgbadger 找不到任何查询,即使数据库日志中记录了缓慢的查询。

pgbadger --dbname foo  /path/to/logfile --format stderr --prefix '%m [%p] '

示例日志条目

2020-04-08 07:58:42.014 BST [1505890] LOG:  duration: 119.079 ms  statement: SELECT "bar".id FROM "bar" WHERE (("bar"."baz" = 0.0)  AND  ("bar"."quux" = 0.0)) ORDER BY "bar"."id"

问题是传递 --dbname 标志及其参数。日志前缀 '%m [%p] ' 不包括数据库名称,因此 pgbadger 可能找不到针对提供的数据库名称记录的任何语句并相应地报告。

解决方法是要么不传--dbname,要么修改postgresql.conf中的日志前缀以包含数据库名称(例如'%m [%p] %d '),重新加载服务器配置并等待日志中的新条目。

我在 Openstack Fedora 虚拟机上找到了这个,其中 '%m [%p] ' 是默认日志前缀。