来自AWS RDS日志的PgBadger报告未完全解析

时间:2016-04-14 10:29:29

标签: postgresql aws-rds pgbadger

我使用pgbadger如下:

pgbadger -p %t:%r:%u@%d:[%p]: postgresql.log

log_line_prefix是为RDS设置的,无法更改。与我传递给pgbadger的相同(%t:%r:%u @%d:[%p]:)

当我启动pgbadger时,我得到以下stdout输出。

[=======================> ] Parsed 52063631 bytes of 52063634 (100.00%), queries: 66116, events: 0
LOG: Ok, generating html report...

所以它解析了查询,输出我看到了大部分统计数据。但在Top部分我看到错误的信息。耗时的查询和最慢的单个查询说“没有数据集”。在大多数频繁查询(N)中,所有查询的所有持续时间都为0。请参见此处的屏幕截图:http://clip2net.com/s/3wUxfXg。查询示例根本不显示任何示例。 我检查了postgresql日志,持续时间就在那里。例如:

2016-04-13 22:00:02 UTC:blabla.com(43372):blabla@blabla:[20584]:LOG:  statement: SELECT DISTINCT "reports2_report"."id", "reports2_report"."created", "reports2_report"."modified", "reports2_report"."data", "reports2_report"."person_info", "reports2_report"."status", "reports2_report"."source_profile_id", "reports2_report"."application_id", "reports2_report"."error_detail" FROM "reports2_report" INNER JOIN "reports2_reportsourceprofile" ON ( "reports2_report"."source_profile_id" = "reports2_reportsourceprofile"."id" ) INNER JOIN "reports2_reportsource" ON ( "reports2_reportsourceprofile"."report_source_id" = "reports2_reportsource"."id" ) INNER JOIN "applications_applicationdocument" ON ( "reports2_report"."application_id" = "applications_applicationdocument"."slug" ) WHERE ("reports2_reportsource"."identifier" = 'redridge_credit' AND "reports2_report"."application_id" = 'jqLoMe' AND ("reports2_report"."application_id" IN (SELECT DISTINCT V0."slug" FROM "applications_applicationdocument" V0 LEFT OUTER JOIN "auth_user" V1 ON ( V0."seller_id" = V1."id" ) LEFT OUTER JOIN "accounts_companymembership" V2 ON ( V1."id" = V2."user_id" ) LEFT OUTER JOIN "applications_applicationbundle" V5 ON ( V0."bundle_id" = V5."id" ) LEFT OUTER JOIN "applications_applicationbundle_sharees" V6 ON ( V5."id" = V6."applicationbundle_id" ) WHERE (V2."company_id" IN (SELECT U0."id" FROM "accounts_company" U0 WHERE (U0."lft" > 2 AND U0."tree_id" = 6 AND U0."rght" < 3)) OR V0."applicant_id" = 111827 OR V0."seller_id" = 111827 OR V6."user_id" = 111827)) OR "applications_applicationdocument"."seller_id" = 111827 OR "applications_applicationdocument"."applicant_id" = 111827 OR "reports2_reportsourceprofile"."user_id" = 111827)) ORDER BY "reports2_report"."created" DESC LIMIT 20
2016-04-13 22:00:02 UTC:blabla.com(43372):blabla@blabla:[20584]:LOG:  duration: 517.047 ms

如何让PgBadger生成完整正确的报告?

1 个答案:

答案 0 :(得分:0)

这是由于log_statement = all而不是log_statement = none。 log_min_duration_statement仅在log_statement = none

时有效