2025年9月25日: PostgreSQL 18 发布!

pgBadger 4:全新设计、时间段排除等!

发布于 2013-10-31,作者 Dalibo

法国巴黎 - 2013 年 10 月 31 日

DALIBO 自豪地发布 pgBadger 4,这是一款 PostgreSQL 性能分析器,专为速度而打造,可根据您的 Postgres 日志文件生成完全详细的报告。

此主要版本带来了一系列新功能,包括对 HTML 报告的全面重写、一些新统计信息、对 PostgreSQL 9.3 的兼容性以及时间段排除功能……

更好的报告 / 改进的用户体验

通过完全重写其图形设计,pgBadger 现在将 HTML 报告转化为更直观的用户体验和专业外观。

每个统计报告现在都包含一个关键值部分,可立即显示一些相关信息。饼图也已通过两个选项卡与数据表分开,一个用于图表,另一个用于数据。

显示每小时统计信息的表格报告已根据数据移至多个选项卡报告。这用于通用(查询、连接、会话)、检查点(缓冲、文件、警告)、临时文件和 VACUUM 活动。

PostgreSQL 9.3 兼容性和新统计信息

最近的 PostgreSQL 版本增加了关于检查点、同步文件数、最长同步时间和每个文件的平均同步时间的额外信息。pgBadger 收集并显示这些信息在检查点活动报告中。

还有一些新报告

  • 预备查询比率(执行 vs 准备)
  • 预备查询对普通查询的比例
  • 按用户/主机/应用程序的查询(select、insert、update、delete)
  • 关于在 VACUUM 过程中删除最多元组和页面的表的饼图。VACUUM 报告现在将突出显示在 VACUUM 或数据库分析期间成本较高的表。

错误现在根据级别用不同的颜色高亮显示。LOG 级别将是绿色,HINT 将是黄色,WARNING 橙色,ERROR 红色,FATAL 深红色。

二进制格式的一些更改不向后兼容,并且已删除 --client 选项,因为它早已被 --dbclient 取代。

时间段排除

如果您正在运行 pg_dump 或一些批处理过程,其中包含非常慢的查询,那么您的报告分析可能会因为这些查询在报告中占据过多空间而受到干扰。在此版本发布之前,要从报告中排除这些查询非常麻烦。现在您可以使用 --exclude-time 命令行选项来排除报告中所有与给定时间正则表达式匹配的痕迹。例如,假设您每天下午 1 点运行 pg_dump 半小时,您可以如下使用 pgbadger:

pgbadger --exclude-time "2013-09-.* 13:.*" postgresql.log

如果您还在夜间运行 pg_dump,例如晚上 10 点,您可以这样写:

pgbadger --exclude-time '2013-09-\d+ 13:[0-3]' --exclude-time '2013-09-\d+ 22:[0-3]' postgresql.log

或者更简洁地说

pgbadger --exclude-time '2013-09-\d+ (13|22):[0-3]' postgresql.log

时间排除始终需要 ISO 格式 yyyy-mm-dd hh:mm:ss,即使日志格式是 syslog。所有与时间相关的选项也是如此。请注意,此选项会对解析器性能产生高昂的成本。

链接与致谢

DALIBO 感谢提交补丁的开发人员以及报告错误和功能请求的用户,尤其是 Keith Fiske、Marco Baringe、Herve Werner、Den Untevskiy 和 Mael Rimbault。新的 HTML 报告由 Art Is Code 设计。

pgBadger 是一个开源项目。任何为改进该工具做出的贡献都受到欢迎。您只需通过 GitHub 工具或直接在我们的邮件列表中发送您的想法、功能请求或补丁。

  • 下载:http://dalibo.github.io/pgbadger/
  • 邮件列表:https://listes.dalibo.com/cgi-bin/mailman/listinfo/pgbagder

关于 pgBadger:

pgBadger 是下一代 PostgreSQL 日志分析器,由 Gilles Darold(也是 ora2pg 的作者,一款强大的迁移工具)创建。pgBadger 是一款快速易用的工具,用于分析您的 SQL 流量并创建带有动态图表的 HTML5 报告。pgBadger 是理解 PostgreSQL 服务器行为并识别需要优化哪些 SQL 查询的理想工具。

文档、下载和演示:http://dalibo.github.io/pgbadger/


关于 DALIBO:

DALIBO 是法国领先的 PostgreSQL 公司,自 2005 年以来一直为客户提供支持、培训和咨询。该公司通过多种方式为 PostgreSQL 社区做出贡献,包括:代码、文章、翻译、免费会议和研讨会。

在 http://dalibo.github.io 了解 DALIBO 的开源项目