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。