当使用此命令运行时,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"发布于 2020-04-15 16:08:28
问题是传递--dbname标志和它的参数。日志前缀'%m [%p] '不包括数据库名称,因此pgbadger可能无法找到针对所提供的数据库名称记录的任何语句和相应的报告。
解决方案是不传递--dbname或修改postgresql.conf中的日志前缀以包括数据库名称(例如'%m [%p] %d '),重新加载服务器配置并等待日志中的新条目。
我在Openstack Fedora vm上发现了这一点,其中'%m [%p] '是默认的日志前缀。
https://stackoverflow.com/questions/61224138
复制相似问题