跳转到主要内容

pgBadger 9.x 版本记录

pgBadger 9.x 系列的完整上游版本记录

v9.2 · 2017-07-27

这是维护版本,并增加以下功能:

  • 添加检查点距离与估计值报告。
  • SQL 格式化器支持 AWS Redshift 关键字。
  • 远程模式自动识别日志格式,允许同时解析远程 PgBouncer 与 PostgreSQL 日志。

其他缺陷修复与功能改进:

  • 修复直方图未显示超过最后一个分组范围的数据的问题。
  • 修复缺少日志行号模式 [%l-n] 时的 journalctl 解析。感谢 Christian Schmitt 报告。
  • 添加检查点距离与估计值报告。感谢 jjsantam 提出需求。
  • 为更新 CSS 与 JavaScript 的脚本 tools/updt_embedded_rsc.pl 补充工作内容说明。
  • 全部日志文件为空时不再警告,并以返回码 0 退出。
  • 修复 build_log_line_prefix_regex() 未在 %regex_map 中查找 %n 的问题。感谢 ghosthound 提供补丁。
  • 将 FATAL: cannot use CSV 的错误级别改为 WARNING。感谢 kong1man 报告。
  • 修复未初始化值的警告。感谢 Payal 报告。
  • 在错误归一化中加入 permission denied 消息。
  • 将内嵌 pgFormatter 更新至最新提交 5bdc018。
  • 支持 AWS Redshift 关键字。感谢 cavanaug 提出需求。
  • 修复查询被取消后临时文件报告缺少该查询的问题。感谢 Fabrizio de Royes Mello 报告。
  • 将绑定参数替换为 ?,对查询进行归一化。
  • 增加校验,防止结束时间早于起始时间。感谢 Christophe Courtois 提供补丁。
  • 修正多处拼写与语法;程序名称统一为 pgBadger,可执行文件名除外。统一 PgBouncer、GitHub 和 CSS 的官方写法,并同步 POD 与 README。感谢 Euler Taveira 提供补丁。
  • 修复使用 --disable-type 时的菜单:将 top_cancelled_info 判断及列表闭合放入 disable_type 判断中,同时调整 disable_lock 判断的缩进。感谢 Euler Taveira 提供补丁。
  • 修复使用未初始化值的问题。感谢 johnkrugger 报告。
  • 远程日志自动识别格式时,移除读取日志文件的测试。感谢 clomdd 报告。
  • 远程模式自动识别日志格式,允许同时解析远程 PgBouncer 和 PostgreSQL 日志。
  • 修复日志行校验后错误增加会话数的问题。感谢 Achilleas Mantzios 报告。
  • 小幅调整 pgBadger 描述的格式。
  • 修复文档中的重复信息。感谢 cscatolini 提供补丁。

v9.1 · 2017-01-24

这是维护版本,并增加以下功能:

  • 当 log_line_prefix 包含 SQLState(参见 %e)时,报告错误类别分布。
  • 将 SQL 格式化器更新至 pgFormatter v1.6。
  • 改善错误消息归一化。
  • 添加 --normalized-only,生成包含日志中全部归一化查询及次数的文本文件。
  • 允许以 %c(会话 ID)替代 %p(PID)作为唯一会话标识。
  • 在事件报告中加入等待锁的消息。
  • 添加 --start-monday,使日历每周从周一开始,默认则从周日开始。

其他缺陷修复与功能改进:

  • 日志行前缀含 SQLState 时,报告错误类别分布。感谢 jacks33 提出需求。
  • 修复调整窗口大小时的增量全局索引。感谢 clomdd 报告。
  • 修复 log_line_prefix 的命令标签占位符 %i,允许含空格。
  • 修复 --exclude-line,以及同时启用保留策略与 --noreport 时删除过期目录的逻辑。
  • 修正 vacuum 活动表中的拼写错误。感谢 Nicolas Gollet 提供补丁。
  • 修复 autovacuum 报告。感谢 Nicolas Gollet 提供补丁。
  • 修正标志作者为 Damien Cazeils,并修正英文注释。感谢 Thibaut Madelaine 提供补丁。
  • 在 -f 说明中补充 PgBouncer 日志格式。感谢 clomdd 报告。
  • 在文档中补充 --normalized-only 信息。
  • 修复上一补丁破坏的日期/时间报告。
  • 修复 log_duration=on 与 log_statement=all 时耗时和查询的关联。感谢 Eric Jensen 报告。
  • 修复 advisory lock 消息的归一化。感谢 Thibaut Madelaine 报告。
  • 修复 auto_explain 输出的报告。感谢 fch77700 报告。
  • 修复标准输入日志记录触发不需要的格式自动识别的问题。感谢 Jesus Adolfo Parra 报告。
  • 在前缀中查找数据库客户端的正则表达式停止字符中加入左括号,以处理包含源端口的 PostgreSQL 客户端字符串。感谢 Jon Nelson 提供补丁。
  • 修正拼写错误。感谢 Jon Nelson 提供补丁。
  • 允许以 %c(会话 ID)替代 %p(PID)作为唯一会话标识。感谢 Jerryliuk 报告。
  • 支持当时预计 PostgreSQL 10.0 将采用的默认 log_line_prefix:'%m [%p] '。
  • 修复缺失的首行解释器调用。
  • 修复 CSV 报告缺少平均值的问题。感谢 Yosuke Tomita 报告。
  • 修正 autodetect_format() 的错误消息。
  • 添加 --start-monday,使日历每周从周一开始,默认从周日开始。感谢 Joosep Mae 提出需求。
  • 修复 --histo-average。感谢 Yves Martin 报告。
  • 在文档中移除 --ssh-option 的复数写法。感谢 mark-a-s 报告。
  • 修复 --exclude-time 过滤,并重写跳过无关日志行及更新进度条的代码。感谢 Michael Chesterton 报告。
  • 修复前缀中使用 %r 而非 %h 的支持。

v9.0 · 2016-09-02

这个主要版本迁移至 Bootstrap 3,并升级全部资源文件(CSS 与 JavaScript)。同时修复缺陷并改进功能。

与旧增量报告的向后兼容性可能得以保留。

  • 将资源文件的源码和许可证放入专用子目录,并添加脚本更新内嵌于 pgBadger 的压缩资源。感谢 Christoph Berg 协助并提出需求。

  • 启用连接日志且 log_line_prefix 缺少用户、数据库或主机信息时,尝试从连接字符串检测这些值。

    扩展正则表达式,自动识别数据库名、用户名、客户端 IP 与应用名称。表达式如下:

    db => qr/(?:db|database)=([^,]*)/;
    user => qr/(?:user|usr)=([^,]*)/;
    client => qr/(?:client|remote|ip|host)=([^,]*)/;
    appname => qr/(?:app|application)=([^,]*)/;
    
  • 在增量模式下,为新的 CSS 和 JavaScript 创建以 pgBadger 主版本号命名的子目录,以兼容旧版报告。

  • 放大 pgBadger 标志,避免在新字体大小下显得过小。

  • 在全部报告中归一化详细信息。

  • 修复锁报告中重复的复制图标。

  • 修复会话耗时直方图缺失的图表。感谢 Guillaume Lelarge 报告。

  • 添加 LICENSE 文件,注明资源文件使用的许可证。感谢 Christoph Berg 提供补丁。

  • 修补 jqPlot,修复下载部分图表时的无限循环。感谢 Julien Tachoires 协助解决。

  • tools/updt_embedded_rsc.pl 会将补丁应用到 resources/jquery.jqplot.js;已应用过时不会报错。

  • 移除饼图数据集末尾多余的逗号。感谢 Julien Tachoires 报告。

  • 调整归一化错误的显示。

  • 移除未使用或自动生成的文件。

  • 更新全部 JavaScript/CSS 资源,并创建目录存放所用 JavaScript 库的源码。新脚本 tools/updt_embedded_rsc.pl 可生成这些文件的压缩版本并嵌入 pgBadger,也会将 FontAwesome.otf 字体嵌入 fontawesome.css。