0

使用此命令运行时,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"
4

1 回答 1

0

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

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

我在 Openstack Fedora vm 上找到了这个,'%m [%p] '默认的日志前缀在哪里。

于 2020-04-15T08:08:27.880 回答