pgBadger 13.x 版本记录
pgBadger 13.x 系列的完整上游版本记录
v13.2 · 2025-12-29
这是维护版本,修复了上一版本发布后用户报告的问题,并合入了相关补丁。
- 修复查询归一化无法正确处理配对单引号字符串及其中转义引号的问题。感谢 Bertrand Bourgier 报告。
- 修正文档中的占位符要求。
- 修复未显示错误日志样本的情况。感谢 john doe 报告。
- 修复
!与%s之间可能存在的优先级问题。感谢 Luca Santarelli 和 Philipp Trulson 报告。 - 将 pgFormatter 代码更新到 v5.9。
- 添加 GitHub CI 工作流,在推送提交时运行测试。
- 修复
log_line_prefix中%r占位符的解析。感谢 nike7o0 报告。 - 修复未初始化值的警告。感谢 Ales Zeleny 报告。
- 完善解析 PostgreSQL 日志所用 SSH 选项的文档,并加入示例。感谢 Ulrich Konrad 提供补丁。
- 添加
--ssh-sudo选项,以 sudo 身份执行 SSH 远程命令。感谢 Andrew Jackson 提供补丁。 - 修复
!与字符串eq比较之间可能存在的优先级问题。感谢 Adrien Nayrat 报告。 - 修复 PgBouncer 统计信息的解析。感谢 mrgtt 报告。
v13.1 · 2025-03-16
这是维护版本,修复了上一版本发布后用户报告的问题,并增加了以下功能:
- 添加 vacuum 吞吐量报告,以及按表显示 CPU 耗时最高的 vacuum 的图表。表格报告各表的读取与写入 I/O 耗时,以及 CPU 耗时。感谢 Ales Zeleny 提出需求。此补丁还在“按表统计 vacuum”报告中加入冻结页和冻结元组的信息。
- 添加用于调试的
--no-fork选项,使程序完全不创建子进程。感谢 Ales Zeleny 提出需求。 - 在原始 CSV 输出中加入毫秒。感谢 Henrietta Dombrovskaya 提出需求。
- 处理多个文件时,在样本报告中加入日志文件名。感谢 Adrien Nayrat 提出需求。
完整变更与致谢如下:
- 修复绑定参数的解析。感谢 Thomas Kotzian 提供补丁。
- 对多行查询应用查询过滤条件。感谢 Benjamin Jacobs 提供补丁。
- 更新日志文件名存储方式改变后的测试结果。
- 修复 JSON 输出中的 ERROR 与 LOG 消息级别。感谢 Philippe Viegas 报告。
- 移除从
File::Temp导入其未导出的tmpdir方法的代码。感谢 kmoradha 报告。
v13.0 · 2024-12-08
这是主要版本,修复了上一版本发布后用户报告的问题,并增加了以下功能:
- 添加两个选项,用于自定义查询和会话直方图的分组边界:
--histogram-query VAL:查询耗时直方图的边界,默认值(毫秒)为0,1,5,10,25,50,100,500,1000,10000。--histogram-session VAL:会话耗时直方图的边界,默认值(毫秒)为0,500,1000,30000,60000,600000,1800000,3600000,28800000。 感谢 JosefMachytkaNetApp 提出需求。 - 支持 CSV 和 JSON 日志格式中的 auto_explain 执行计划。感谢 zxwsbg 和 Alexander Rumyantsev 报告。
- 将此前未作为事件报告的三类 LOG 消息加入事件报告:
unexpected EOF、incomplete startup packet和detected deadlock while waiting for。感谢 dottle 报告。
向后兼容性问题:
- 改变“事件”报告中 LOG 级别事件的存储方式。此前其中一些事件仍作为错误报告和计数,而未作为 LOG 级别记录处理。现在将它们存储并报告为 EVENTLOG,以区别于查询。这项改动会破坏增量模式的向后兼容性;升级当周的报告会同时包含新旧两种处理方式。感谢 Matti Linnanvuori 报告。
缺陷修复:
- 修复未报告因
statement_timeout导致最多取消的查询的问题。 - 更新回归测试。
- 修复从 CSV 日志提取执行计划后的格式化。
- 修复 jsonlog 缺失的 autovacuum 数据报告:平均 autovacuum 耗时、各表移除的元组数,以及 autovacuum 活动报告中按小时统计的 vacuum 次数。感谢 Ales Zeleny 提供补丁。
- 修复孤立日志行未关联到耗时 bind 查询的问题。感谢 Henrietta Dombrovskaya 报告。修复模式匹配中使用未初始化值的问题。感谢 Junior Dias 提供补丁。
- 将
--csv-separator选项应用到原始 CSV 导出。此版本记录中的默认分隔符为分号(;)。感谢 Henrietta Dombrovskaya 提出需求。 - 原始 CSV 输出中,参数和应用名称为空时不再添加双引号。
- 原始 CSV 输出中,查询包含分号时添加双引号。感谢 Henrietta Dombrovskaya 报告。