pgBadger 11.x 版本记录
v11.8 · 2022-04-08
本版本修复了过去三个月用户报告的问题,尤其包括增量模式中检测新日志记录的两项修复:
- 修复
log_line_prefix使用毫秒时间戳(%m)或纪元时间戳(%n)时的新记录检测。 - 修复未使用多进程时本地文件的新记录检测。
完整变更与致谢如下:
- 全面审查并简化日志文件变化的检测。
- 在事件报告中加入
could not (receive|send) data (from|to) client消息。感谢 Adrien Nayrat 报告。 - 修复预备查询名称包含
:时的解析问题。感谢 aleszeleny 报告。 - 修复使用毫秒(
%m)或纪元(%n)时间戳时的新记录检测。感谢 aleszeleny 报告。 - 修复未使用多进程时本地文件的新记录检测。感谢 aleszeleny 报告。
- 修复通过 SSH 读取远程文件时的新记录检测。感谢 Luca Ferrari 报告。
- 修复“按用户统计连接”报告中用户名混入无关内容的问题。感谢 caseyandgina 报告。
- 修复使用 URI 时 SSH 命令缺少连接选项的问题。感谢 Luca Ferrari 报告。
- 处理查询 ID 占位符
%Q。感谢 Adrien Nayrat 提供补丁。 - 修正错误消息中的拼写错误。感谢 Luca Ferrari 提供补丁。
- 在事件报告中加入
server process was terminated by signal消息。感谢 Avi Vallarapu 报告。 - 文档:修正每周增量命令中的文件名。感谢 Theophile Helleboid 提供补丁。
t/04_advanced.t:修复 syslog 测试。感谢 Christoph Berg 提供补丁。
v11.7 · 2022-01-23
本版本修复了过去五个月用户报告的问题,并作出以下改进:
- 添加
--no-progressbar选项,隐藏进度条,同时保留其他输出。 - 添加
--day-report选项,重建指定日期的 HTML 报告。它与--month-report类似,但仅处理一天;需要增量输出目录及全部必要的二进制数据文件,日期格式为YYYY-MM-DD。 - 改善 Heroku logplex 和 Cloud SQL JSON 日志的解析。
完整变更与致谢如下:
- 更新贡献指南和
Makefile.PL,改善一致性、说明清晰度与依赖管理。感谢 diffuse 提供补丁。 - 修复二进制模式下最后解析状态文件(
--last-parsed)的使用。感谢 wibrt 报告。 - 为
--last-parsed添加回归测试,并修复仅报告临时文件时的回归测试。 - 修正按主机统计会话图表的标题。感谢 Norbert Bede 报告。
- 修复同时启用
--iso-week-number和--incremental时生成周报的周编号。感谢 hansgv 报告。 - 添加
--no-progressbar选项,隐藏进度条,同时保留其他输出。感谢 seidlmic 提出需求。 - 防止调试模式对多行 jsonlog 打印过多格式未知的日志行。
- 修复单行 Cloud SQL JSON 日志的解析。感谢 Thomas Leclaire 报告。
- 修复只启用
log_temp_files时的临时文件汇总。 - 即使使用
-q或--quiet,指定-v后仍打印调试消息。 - 修复 jsonlog 文件的自动识别。
- 修复 Cloud SQL 日志文件的解析。感谢 Luc Lamarle 报告。
- 修复
parse_json_input中的 PID 提取。感谢 Francois Scala 提供补丁。 - 添加
--day-report选项,接受YYYY-MM-DD日期并重建该日的 HTML 报告。感谢 Thomas Leclaire 提出需求。 - 修复进度条中的查询计数。感谢 Guillaume Lelarge 报告。
- 修复耗时最高的 bind 和 prepare 报告存储了不完整查询的问题。
- 修复对象标识符的归一化,避免某些情况下把其中数字替换成
?。 - 修复以注释开头的归一化查询未格式化的问题。
- 修复使用
--dbname时 stderr 格式的多行处理。感谢 Guillaume Lelarge 报告。 - 修复增量模式使用
--dbname时未生成报告的问题。感谢 Dudley Perkins 报告。 - 二进制文件不兼容时不再终止程序,而是继续下一个文件。感谢 Thomas Leclaire 建议。
- 修复解析器对 Heroku logplex 格式变化的处理。感谢 François Pietka 报告。
v11.6 · 2021-09-04
本版本修复了过去七个月用户报告的问题,并作出以下改进:
- 检测 PostgreSQL 14 新增的
log_line_prefix查询 ID。感谢 Florent Jardin 报告。 - 添加覆盖数据库排除和按数据库拆分报告的高级回归测试。感谢 MigOps Inc 提供补丁。
- 使用
--explode时,以多进程生成报告。感谢 MigOps Inc 提供补丁,以及 Thomas Leclaire 提出需求。 - 添加
--iso-week-number:增量日历每周从周一开始,遵循 ISO 8601,周编号范围为 01 至 53,第 1 周是新年中至少含 4 天的第一周。感谢 Alex Muntada 提出需求。 - 添加
--keep-comments选项,保留归一化查询中的注释,以区分归一化结果相同的查询。感谢 Stefan Corneliu Petrea 提出需求。 - 跳过第三方软件写入 PostgreSQL 日志的 INFO 行。感谢 David Piscitelli 报告。
- 兼容 PostgresPro 日志,其语句耗时后附有行数与字节大小。感谢 panatamann 报告。
- 解析包含 T 的时间表示,以支持 journalctl 时间戳。感谢 Graham Christensen 提供补丁。
- 改善 Windows 移植版。感谢 Bertrand Bourgier 提供补丁。
重要说明:
- 当时计划在下一个主要版本中默认启用
--iso-week-number,并移除--start-monday,使每周始终从周一开始;为简化代码,也计划移除以周日作为每周起始日的选项。此条记录的是当时的计划,当前选项请以命令行参考为准。
完整变更与致谢如下:
- 修复重复的警告消息
database ... must be vacuumed within ... transactions。感谢 Christophe Courtois 报告。 - 修复使用未初始化变量的问题。感谢 phiresky 报告。
- 改善查询 ID 的检测,支持负值,并从 csvlog 中读取。
- 修复增量模式总是再次解析已经处理过的最后一个文件的问题。感谢 Thomas Leclaire 报告。
- 更新 syslog 格式的正则表达式,支持会话行标记只含一个整数的情况,而不要求两个以连字符分隔的整数。感谢 Timothy Alexander 提供补丁。
- 修复 JSON 日志使用
--exclude-db后仍生成被排除数据库报告的问题。感谢 MigOps Inc 提供补丁,以及 Thomas Leclaire 报告。 - 针对有缺陷的 Storable 版本添加回归测试。
- 修复增量模式生成周报时替换迭代器使用未初始化值的问题。感谢 Thomas Leclaire、Michael Vitale、Sumeet Shukla 和 Stefan Corneliu Petrea 报告。
- 添加
g标志,以替换全部绑定参数。感谢 Nicolas Lutic 和 Sebastien Lardiere 提供补丁。 - 改善文档。感谢 Stefan Petrea 提供补丁。
- 修复日志时区变换的计算。感谢 Stefan Petrea 提供补丁。
- 修复按起止时间过滤日志。
- 修复按数据库过滤多行查询时孤立日志行关联错误的问题。感谢 Abhishek Mehta 报告。
- 修复增量模式同时使用
--dbname与拆分选项-E时数据库参数被部分忽略的问题。感谢 lrevest 报告。 - 更新 JavaScript 资源。
- 修复缩小屏幕后切换为折叠菜单前的菜单显示。感谢 Guillaume Lelarge 报告。
- 修复未正确支持跨多行绑定参数值的问题。
- 将上一补丁对应的修复同步到 pgFormatter。
- 修复 pgFormatter 代码中替换迭代器使用未初始化值的另一处问题。感谢 Christophe Courtois 报告。
- 修复查询归一化。感谢 Jeffrey Beale 提供补丁。
- 使用
--dump-all-queries时,确保每条语句都以分号结尾。感谢 Christian 报告。 - 修正拼写,并修复多个日志文件的行结束符类型初始化。
- 自动检测行结束符类型,修复 Windows 双字节行结束符导致的 LAST_PARSED 偏移问题。感谢 Bertrand Bourgier 提供补丁。
- 修复 Windows 不支持
strftime %u时的get_day_of_week()移植问题。感谢 Bertrand Bourgier 提供补丁。 - 修复 Windows 调用 Perl 工具
pl2bat.bat时,因 pgBadger 读取__DATA__的方式导致生成损坏的pgbadger.bat。感谢 Bertrand Bourgier 提供补丁。 - 修复起止时间过滤,并添加时间戳过滤的回归测试。感谢 Alexis Lahouze 和 plmayekar 报告。
- 修复 pgFormatter 更新引入的模式匹配使用未初始化值问题。感谢 arlt 报告。
v11.5 · 2021-02-18
本版本修复了过去三个月用户报告的问题,并作出以下改进:
- 添加会话闲置时间报告,计算方式为:
“(total sessions time - total queries time) / number of sessions”
要得到可靠结果,需启用
log_connections与log_disconnections,并设置log_min_duration_statement = 0以记录全部查询。该报告可帮助了解闲置时间,并评估事务模式连接池的价值。报告位于“全局统计”的“会话”标签页,以及“总体活动”的“会话”标签页(按小时统计)。 - 添加数值匿名化,将数字替换为四位随机数。
- 将 SQL 格式化器更新为基于 pgFormatter 5.0 的版本。
完整变更与致谢如下:
- 修复 Cloud SQL 多行语句的解析。感谢 Jon Young 报告。
- 为匿名化添加回归测试。
- 修复 maxlength 截断导致匿名化失效的问题。感谢 artl 报告。
- 在耗时最高的 prepare 和 bind 报告中匿名化参数。感谢 arlt 报告。
- 支持 logplex 日志前缀中的微秒。感谢 Ross Gardiner 报告。
- 添加会话闲置时间报告。感谢 Guillaume Lelarge 提出需求。
- 完成支持 jsonlog 多行内容的补丁。
v11.4 · 2020-11-24
本版本修复了过去四个月用户报告的问题,改善 PostgreSQL 13 日志信息的支持,并增加以下功能:
- 在“按表统计 vacuum”报告中添加完整的 autovacuum 信息:缓冲区使用(命中、未命中、弄脏)、因页被固定而跳过、跳过的冻结页,以及 WAL 使用(记录数、全页镜像、字节数)。“各表移除的元组”报告加入剩余元组、尚不能移除的元组和剩余页数。这些信息只在“表”标签页提供。
- 添加检查点启动原因的分布报告。
- 从连接授权日志中检测应用名称。
完整变更与致谢如下:
- 修正错误消息中的拼写错误。感谢 Vidar Tyldum 提供补丁。
- 修复 Windows 上的
can not load incompatible binary data错误。感谢 Eric Brawner 报告。 - 修正用法说明和文档中
--html-outdir的拼写错误。感谢 Vidar Tyldum 提供补丁。 - 修复 jsonlog/Cloud SQL 格式的自动识别。感谢 Jon Young 报告。
- 修复 PostgreSQL v13 的 CSV 日志解析。感谢 Kanwei Li 报告,以及 Kaarel Moppel 提供补丁。
- 修复产生最多临时文件的查询报告的排序。感谢 Sebastien Lardiere 报告。
- 在调试模式中显示 pgBadger 版本。
v11.3 · 2020-07-26
本版本修复了过去四个月用户报告的问题,并增加了以下功能和命令行选项:
- 自动检测 UTC 时间戳,避免向图表再次应用时区偏移。
- 支持 GCP Cloud SQL JSON 日志格式。
- 添加
--dump-all-queries,将全部查询导出到文本文件,不生成报告,只列出 PostgreSQL 日志中的完整语句列表。绑定参数会填入查询中相应位置。 - 添加
-Q | --query-numbering,在使用--dump-all-queries或--normalized-only时为输出查询编号。 - 添加
--tempdir,指定临时文件目录,适合不允许写入/tmp的系统。 - 添加
--ssh-port,指定非默认 22 的 SSH 端口。URI 写法也支持指定端口,例如: ssh://192.168.1.100:2222//var/log/postgresql-11.log
完整变更与致谢如下:
- 修复 jsonlog/Cloud SQL 格式的增量报告。感谢 Ryan DeShone 报告。
- 自动检测 UTC 时间戳,避免应用自动检测的时区偏移;UTC 时间由 JavaScript 转换为本地时区。感谢 Brett Stauner 报告。
- 修复 journalctl 日志从第二次运行起增量解析失效的问题。感谢 Paweł Koziol 提供补丁。
- 修复同时使用
-X与-E时的资源文件路径。感谢 Ryan DeShone 报告。 - 修复“总体活动”报告的读写查询。感谢 alexandre-sk5 报告。
- 未使用并行模式时添加调试消息。
- 修复文件大小检测中的 elsif 逻辑,以及添加
--since后 journalctl 命令多余的空格。感谢 Pawel Koziol 提供补丁。 - 修复
not a valid file descriptor错误。感谢 Pawel Koziol 报告。 - 修复 RDS 文件的增量模式。感谢 Ildefonso Camargo、nodje 和 John Walsh 报告。
- 添加
-Q | --query-numbering,在使用--dump-all-queries或--normalized-only时为查询编号,便于外部脚本从输出文件提取多行查询。感谢 Shantanu Oak 提出需求。 - 修复启用
log_min_duration_statement时 Cloud SQL JSON 日志的解析。感谢 alexandre-sk5 报告。 - 修复 RDS 日志中用户的错误哈希键。感谢 vosmax 报告。
- 修复修改不可创建数组值导致的错误。感谢 John Walsh 和 Mark Fletcher 报告。
- 支持 GCP Cloud SQL JSON 日志,日志格式(
-f)为jsonlog。感谢 Thomas Poindessous 提出需求。 - 添加
--dump-all-queries,将全部查询导出到文本文件,不生成报告;绑定参数填入相应位置,不对查询去重或排序,记录全部查询。感谢 Shantanu Oak 提出需求。 - 添加
--dump-all-queries文档。 - 修复新版 PostgreSQL 的 vacuum 报告。感谢 Alexey Timanovsky 报告。
- 添加
--no-process-info,不再修改进程标题以标识 pgBadger 进程,适用于不支持该操作的系统。感谢 Akshay2378 报告。 - 添加
--tempdir,指定临时文件目录,默认: File::Spec->tmpdir() || ‘/tmp’ 适合不允许写入/tmp的系统。感谢 Akshay2378 报告。 - 修复压缩文件名含空格或方括号时不受支持的问题。感谢 Alexey Timanovsky 报告。
- 添加
--ssh-port,指定非默认 22 的 SSH 端口。URI 写法也支持指定端口,例如: ssh://192.168.1.100:2222//var/log/postgresql-11.log 感谢 Augusto Murri 提出需求。
v11.2 · 2020-03-11
本版本修复了过去六个月用户报告的问题,并增加以下功能:
-
支持并自动识别 AWS Redshift 日志格式。
-
支持 PgBouncer 1.11 的新日志格式。
-
支持 zstd 与 lz4 压缩格式。
-
增量模式下可完全分离统计数据生成与 HTML 报告生成,生成报告时无需重新读取日志。例如,可以每小时运行:
pgbadger -I -O "/out-dir/data" --noreport /var/log/postgresql*.log这只在
/out-dir/data创建二进制数据文件。随后可每晚在独立目录/out-dir/reports生成当天的报告,供次日查看:pgbadger -I -l "/out-dir/data/LAST_PARSED" -H "/out-dir/reports" /out-dir/data/2020/02/19/*.bin需要指定最后解析状态的路径、HTML 输出目录,以及当天的二进制数据文件。
新增命令行选项:
-
添加
--explain-url,覆盖图形化执行计划工具的 URL。当时的默认 URL 为:http://explain.depesz.com/?is_public=0&is_anon=0&plan=可用于本地安装的 PgExplain 或其他工具。pgBadger 将转义后的文本格式执行计划追加到 URL 末尾。
-
添加
--no-week,增量模式下不生成周报,适合周报消耗过多时间和资源的情况。 -
添加
--command,指定获取日志记录的命令。pgBadger 打开通向该命令的管道,并解析其输出的日志,例如:pgbadger -f stderr –command ‘cat /var/log/postgresql.log’
这与直接将日志文件作为参数传入等效。需要实时改写日志、从程序提取日志或从数据库生成日志时,此选项尤为有用。例如:
pgbadger -f csv –command ‘psql dbname -c “COPY jrn_log TO STDOUT (FORMAT CSV)”’
-
添加
--noexplain,不解析或报告 auto_explain 扩展写入日志的执行计划。在 PostgreSQL < 9.0 中,日志包含执行计划时 pgBadger 会生成损坏的报告,此选项可避免该问题。
向后兼容性:
- 默认将查询截断至 100000 字符;可通过
--maxlength调整这个人为设定的值。此前默认不截断,可能造成过量资源消耗。限定默认长度更安全,且多数查询不会触及此限制。不过,超过 25000 字符的查询不会进行格式化。
完整变更与致谢如下:
- 修复
--exclude-client不生效的问题。感谢 John Walsh 报告。 - 添加 RDS 日志解析与
--exclude-client的回归测试。 - 修复 PgBouncer 日志的进度条,将“查询”标签改为“统计”。
- 添加
--explain-url,覆盖图形化执行计划工具的 URL。感谢 Christophe Courtois 提出需求。 - 支持 PgBouncer 1.11 新日志格式。感谢 Dan Aksenov 报告。
- 支持 zstd 和 lz4 压缩格式。感谢 Adrien Nayrat 提供补丁。
- 支持并自动识别 AWS Redshift 日志格式。感谢 Bhuvanesh 提出需求。
- 更新 Redshift 日志格式文档。
- 添加
--no-week,增量模式下不生成周报。感谢 cleverKermit17 提出需求。 - 修复 Windows 上文件路径模式匹配导致 pgBadger 失败的问题。
- 修复 #554:即使指定字符集,西里尔字符及其他编码的语句参数也未在 HTML 中正确显示。该回归由修复 Perl 的
Wide character in print消息引入;现已撤销原补丁,添加--wide-char以恢复所需行为。遇到此消息时请加入该选项。添加西里尔字符和法语编码的回归测试。感谢 4815162342lost 和 yethee 报告。 - 更新文档,说明
lc_messages = 'en_US.UTF-8'同样有效。感谢 nodje 报告。 - 更新
--maxlength文档,默认截断长度改为 100000,不再默认不截断。感谢 nodje 报告。 - 修复跨年时的保留期计算。感谢 Fabio Pereira 提供补丁。
- 修复 RDS 日志格式的解析。感谢 Kadaffy Talavera 报告。
- 增量模式下没有新日志记录时,不再生成空索引文件。感谢 Kadaffy Talavera 报告。
- 修复未及时更新的文档。感谢 Eric Hanson 提供补丁。
- 将文档中的命令行参数从
-no-explain改为-noexplain。感谢 Indrek Toom 提供补丁。 - 无法取得 totalsize 时,回退到默认文件大小。感谢 Adrien Nayrat 提供补丁。
- 修正示例中的日期。感谢 Greg Clough 提供补丁。
- 在其余测试中使用压缩文件扩展名的正则表达式,并将
.bin扩展名的判断独立处理。 - 支持 zstd 和 lz4 压缩格式。感谢 Adrien Nayrat 提供补丁。
- 修复 Windows 上剩余的 SIGUSR2 调用。感谢 inrap 报告。
- 修复大小不确定的日志文件的进度条。
- 添加
--command,执行命令并从其标准输出获取日志记录。感谢 Justin Pryzby 提出需求。 - 添加
--noexplain,不解析或报告 auto_explain 写入日志的执行计划,以避免 PostgreSQL < 9.0 中日志包含执行计划时报告损坏。感谢 Massimo Sala 提出需求。 - 修复命令行指定前缀时的 RDS 日志解析。感谢 Bing Zhao 报告。
- 修复 RDS 日志格式的增量模式。感谢 Bing Zhao 报告。
- 修复 RDS 日志解析中的潜在问题。感谢 James van Lommel 和 Simon Dobner 报告。
- 修复语句分类,并添加回归测试。感谢 alexanderlaw 报告。
- 修复 IN 子句中单个字符的匿名化。感谢 Massimo Sala 报告。
- 修复缺少客户端/用户/数据库信息的 RDS 日志行解析。感谢 Konrad 报告。
v11.1 · 2019-09-16
本版本修复了过去三个月用户报告的问题,并增加以下功能和报告:
- 添加 prepare 或 parse 阶段耗时最高的前 N 条查询报告。
- 添加 bind 阶段耗时最高的前 N 条查询报告。
- 添加 prepare/bind/execute 各阶段耗时报告,位于“全局统计”新增的“耗时”标签页。例如: Total query duration: 6m16s Prepare/parse total duration: 45s564ms Bind total duration: 4m46s Execute total duration: 44s71m 这也修复了原“查询总耗时”只报告 execute 总耗时的问题。
- 支持并自动识别 RDS 与 CloudWatch 日志格式;无法自动识别时可使用
-f rds。 - 添加
--month-report,生成月度增量报告。 - 恢复 Windows 操作系统支持。
其他缺陷修复与功能改进:
- 使用 pod2markdown 自动生成
README.md;命令不存在时不生成该文件。感谢 Derek Yang 提供补丁。 - 将 WITH 语句归类为 CTE,修复上一版本引入的回归。
- 修复 Windows 操作系统支持。
- 支持 RDS 和 CloudWatch 日志;无法自动识别时使用
-f rds。感谢 peruuparkar 提出需求。 - 修复
-f | --format未应用于全部参数文件的问题:当自动识别失败时,曾错误沿用第一个文件的格式。感谢 Levente Birta 报告。 - 更新源码文档,将 pgBadger v7.x 引用改为 v11。感谢 Will Buckner 提供补丁。
- 限制高频/耗时查询的显示高度,避免巨大查询占满页面。感谢 ilias ilisepe1 提供补丁。
- 修复“最慢的单次查询”中查询与详细信息溢出的问题。
- 修复文件、目录与通配符的 SSH URI。感谢 tbussmann 提供补丁。
- 修正文档中的 URI 示例。感谢 tbussmann 提供补丁。
- 使用
--rebuild时隐藏默认输出文件的提示。 - 在
usage()输出中添加额外换行,避免构建时破坏 POD 文档。 - 在文档中恢复
--exclude-client的说明。感谢 Christoph Berg 报告。
v11.0 · 2019-06-25
本版本加入重要新功能,并修复了过去四个月用户报告的问题。新增功能:
-
将游标相关查询(DECLARE、CLOSE、FETCH、MOVE)归入新查询类型 CURSOR。
-
添加生成最多临时文件的 bind 查询报告;需要启用连接与断开连接日志。
-
添加
--exclude-client,排除指定客户端 IP 的日志记录,可多次指定。 -
允许
--begin与--end只使用时间。 -
添加
-H, --html-dir,在增量模式下指定独立的 HTML 输出路径;二进制文件仍保存在-O, --outdir指定的目录。 -
添加
-E | --explode,将主报告拆分为每个数据库一份;与数据库无关的全局信息放入 postgres 数据库报告。 -
增量模式支持按数据库报告,每个数据库有独立子目录与增量报告。
-
支持 Heroku PostgreSQL 的 logplex 格式,可这样解析:
heroku logs -p postgres | pgbadger -f logplex -o heroku.html -
-
查询超过 10Kb 时,先将所有常量字符串参数限制为 30 字符,再将查询截断为 10Kb,避免插入 bytea 等超长查询造成耗时过多或挂起。10Kb 限制可通过
--maxlength控制;先尝试缩短参数,再归一化查询或按 maxlength 截断。
此版本与旧二进制或 JSON 文件不兼容,增量模式也无法读取旧二进制文件。若升级后仍需保留历史报告,请在新的一周开始时升级,否则周报会损坏。pgBadger 将打印警告并跳过旧二进制文件。
其他缺陷修复与功能改进:
- 加入版本警告,并跳过不兼容的二进制文件。
- 将代码格式化器更新至 pgFormatter 4.0。
- 修复 pgBadger 在 Windows 上挂起的问题。感谢 JMLessard 报告。
- 更新
tools/pgbadger_tools,兼容 v11 的新二进制文件格式。 - 添加生成最多临时文件的 bind 查询报告;只有在 postgresql.conf 中启用连接与断开连接日志时才能收集。感谢 Ildefonso Camargo 提出需求。
- 修复时区自动检测。感谢 massimosala 修复。
- 使用
--nograph时移除剩余图表。 - 使用
--normalized-only时强制使用.txt扩展名。 - 修复 logplex 格式的 autovacuum/autoanalyze 报告。感谢 Konrad zichul 报告。
- 修复 Windows 的进度条。感谢 JMLessard 报告。
- 使用
$prefix_vars{'t_time'}存储日志时间。感谢 Luca Ferrari 提供补丁。 - 更新用法与文档,移除 pgBadger 调用前的 perl 命令。感谢 Luca Ferrari 提供补丁。
- 允许起止条件使用不含日期的时间。感谢 Luca Ferrari 提供补丁。
- 修正 README 的少量拼写与语法错误。感谢 ofni yratilim 提供补丁。
- 修复通过 SSH 使用的远程路径。感谢 Luca Ferrari 提供补丁。
- 更新回归测试,适应按数据库报告功能引入的新结构。
- 修复全部起止参数中的小数秒。感谢 Luca Ferrari 提供补丁。
- 修正文档 URL。感谢 Kara Mansel 报告。
- 修复 auto_explain 解析,并补充
-U可多次指定的说明。感谢 Douglas J Hunley 报告。 - 改进多处 HTML/CSS 报告界面。感谢 Pierre Giraud 提供补丁。
- 更新资源文件。
- 添加 logplex 格式的回归测试。
- 支持 Heroku PostgreSQL 的 logplex 格式,可解析日志流:
heroku logs -p postgres | pgbadger -f logplex -o heroku.html -
或已保存的日志文件:
pgbadger heroku.log
logplex 与其他支持的格式一样可自动识别。pgBadger 支持以下默认
log_line_prefix: database = %d connection_source = %r sql_error_code = %e 或简化形式: sql_error_code = %e 如有其他默认前缀,可向上游反馈。也可以始终用-p | --prefix指定,例如: pgbadger –p ‘base = %d source = %r sql_state = %e’ heroku.log 感谢 Anthony Sosso 提出需求。 - 修复关于 URI 使用的帮助信息。
- 修复上一补丁导致 SSH URI 通配符失效的问题。感谢 Tobias Bussmann 报告。
- 允许日志路径含空格的 URI。感谢 Tobias Bussmann 报告。
- 修正文档中的 URI 示例。感谢 Tobias Bussmann 提供补丁。
- 修复
t/02_basics.t,避免 syslog 测试耗时超过 10s 时失败。感谢 Christoph Berg 提供补丁。