# pgBadger 12.x 版本记录

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

---

LLMS 索引： [llms.txt](/zh/llms.txt)

---

## v12.4 · 2023-12-25 {#v12-4}

这是维护版本，修复了上一版本发布后用户报告的问题。

  - 修复 PgBouncer 1.21 的报告。感谢 Ales Zeleny 提供补丁。
  - 防止按文件并行处理的进程数超过文件数。感谢 maliangzhu 报告。
  - 修复自 v12.3 起损坏的回归测试。感谢 ieshin 报告。
  - 修复 LOG 记录被计入 ERROR 级别记录的情况。感谢 Matti Linnanvuori 报告。

## v12.3 · 2023-11-27 {#v12-3}

这是维护版本，修复了上一版本发布后用户报告的问题，并增加了以下功能：

  * 添加 `--include-pid` 选项，只报告指定会话 PID（`%p`）的事件，可多次指定。感谢 Henrietta Dombrovskaya 提出需求。
  * 添加 `--include-session` 选项，只报告指定会话 ID（`%c`）的事件，可多次指定。感谢 Henrietta Dombrovskaya 提出需求。
  * 添加 `--dump-raw-csv` 选项，只解析日志并将信息导出为 CSV，不再进一步处理，也不生成报告。感谢 Henrietta Dombrovskaya 提出需求。

完整变更与致谢如下：

  - 将 pgFormatter 更新到 5.5。
  - 修复 jsonlog 格式的解析结束日期。感谢 jw1u1 报告。
  - 修正“按应用统计会话”标签中的拼写错误。感谢 fairyfar 提供补丁。
  - 修复 INSERT/UPDATE/DELETE 流量图表的缺陷。感谢 fairyfar 提供补丁。
  - 修复 bind 查询中孤立日志行的解析。感谢 youxq 报告。
  - 修复新版 PostgreSQL 的按表统计 analyze 报告。感谢 Jean-Christophe Arnu 提供补丁。
  - 修复 syslog 时间戳包含毫秒时的记录解析。感谢 Pavel Rabel 报告。

## v12.2 · 2023-08-20 {#v12-2}

这是维护版本，修复了上一版本发布后用户报告的问题，并增加了两个功能：

  * 支持 autovacuum 耗时的最大值、平均值和最小值。感谢 Francisco Reinolds 提供补丁。
  * 支持 PgBouncer 的平均等待时间。感谢 Francisco Reinolds 提供补丁。

完整变更与致谢如下：

  - 修复应用名称包含 `<...>` 时损坏的 HTML 输出。感谢 Fabio Geiss 报告。
  - 修复按数据库过滤时孤立日志行关联错误的问题。感谢 jcasanov 报告。
  - 修复 logplex 前缀的解析。
  - 修复 logplex 孤立日志行的检测。
  - 修复 `autovacuum` 的 `system usage: CPU: ...` 行解析。感谢 Francisco Reinolds 提供补丁。
  - 输出到标准输出时，不再添加输出目录前缀。
  - 统一“平均查询耗时”标签。感谢 Francisco Reinolds 提供补丁。
  - 更新新增 pgBadger 选项的文档。感谢 Francisco Reinolds 提供补丁。
  - 修复无法打开任何文件句柄时未中止解析的情况。感谢 vp 报告。
  - 在帮助中补入 `%p` / `%t` 必需占位符的日志要求。感谢 Christophe Courtois 提供补丁。
  - 修复 `--retention` 参数。感谢 Bertrand Bourgier 提供补丁。
  - 修复设置 HTML 输出目录时，提交 `0e5c7d5` 移除的输出目录清理功能。感谢 Bertrand Bourgier 报告。
  - 修复目标目录包含需要在正则表达式中转义的字符时的输出扩展名。感谢 Bertrand Bourgier 提供补丁。
  - 在 Windows 移植版中，用 `localtime` 调用替换 `POSIX::strftime("%s", ....)`。感谢 Bertrand Bourgier 提供补丁。
  - 修复 HTML 输出目录的清理。感谢 Bertrand Bourgier 提供补丁。
  - 默认使用 HTTPS 执行计划 URL。感谢 Philipp Trulson 提供补丁。

## v12.1 · 2023-03-20 {#v12-1}

这是维护版本，修复了过去六个月用户报告的问题。

完整变更与致谢如下：

  - 修复多行参数的解析。感谢 Bekir Niyaz 报告。
  - 修复包含 `::tsrange` 的查询无法归一化的问题。感谢 Philippe Griboval 报告。
  - 在事件报告中加入逻辑解码一致性点与复制槽启动的日志记录。
  - 处理时间戳中其他纳秒加时区的格式。感谢 Ronan Dunklau 报告。
  - 修复使用 T 分隔日期和时间时的 `%m` 检测。感谢 Ronan Dunklau 报告。
  - 添加对 CloudNativePG 生成日志的解析。感谢 codrut panea 提供补丁。
  - 修复生成报告时 `--outdir` 选项未生效的问题。感谢 Frederic Guiet 报告。
  - 根据最近的文档改动更新 README。感谢 Manisankar 报告。
  - 修正 pgBadger 示例中的拼写错误。感谢 Shinichi Hashiba 提供补丁。

## v12.0 · 2022-09-13 {#v12-0}

这个主要版本修复了过去五个月用户报告的一些问题，并增加了新功能和改进：

  * 移除 Tsung 输出支持。
  * 改善需要替换数百个绑定参数时的性能。
  * 移除 `-n | --nohighlight` 选项；升级到 pgFormatter 4 后已不再使用该选项。
  * 使用 POST 方法向 explain.depesz.com 提交 auto_explain 执行计划，避免 GET 参数长度限制。
  * 将 `--exclude-query` 和 `--include-query` 应用于 bind/parse 记录。
  * 在文档中添加 pgBadger 报告示例的链接。

完整变更与致谢如下：

  - 修复月报因 `log file ... must exists` 报错而生成失败的问题。感谢 Jaume Sabater 报告。
  - 修复从标准输入读取 PgBouncer 日志时的解析启动调试消息。感谢 aleszeleny 报告。
  - 移除 Tsung 输出支持。
  - 大幅改善绑定参数替换的性能；数百个参数曾可能导致程序无限运行。感谢 Monty Mobile 报告。
  - 修正返回码文档，并修复部分位置的错误返回码。感谢 Jaume Sabater 报告。
  - 修正多处拼写错误。感谢 David Gilman 提供补丁。
  - 移除升级到 pgFormatter 4 后不再使用的 `-n | --nohighlight` 选项。感谢 Elena Indrupskaya 报告。
  - 修复多处文档问题。感谢 Postgres Pro 的 Elena Indrupskay 提供补丁。
  - 允许 `--log-timezone` 和 `--timezone` 使用半小时时差，值可以是整数（例如 2）或小数（例如 2.5）。感谢 Mujjamil-K 提出需求。
  - 允许 `--exclude-app` 和 `--exclude-client` 使用正则表达式。感谢 rdnkrkmz 提出需求。
  - 配合上一项相关提交允许使用 `--explain-url`，并恢复只支持文本格式执行计划的限制。
  - 使用 POST 方法向 explain.depesz.com 提交 auto_explain 执行计划，避免 GET 参数长度限制。感谢 hvisage 报告。
  - 将 `--exclude-query` 和 `--include-query` 应用于 bind/parse 记录。感谢 Alec Lazarescu 报告。
  - 修复 RDS 日志中 autovacuum 统计信息的解析。感谢 David Gilman 报告。
  - 修复解析远程日志时日志格式的传递。感谢 spookypeanut 报告。
  - 在文档中添加 pgBadger 报告示例的链接。
  - 修复按用户统计会话的报告。感谢 vitalca 报告。
  - 修复 PostgreSQL 15 输出的 jsonlog 解析。
  - 修复文本格式的错误/事件报告。感谢 Michael Banck 提供补丁。
  - 修正 `normalize_error()` 中正则表达式的拼写错误。感谢 Michael Banck 提供补丁。

---

反链：

- [版本历史](/zh/docs/pgbadger/releases/)
