跳转到主要内容

输出格式

选择 HTML、文本、二进制、JSON 或原始 CSV 输出,并合并中间数据文件

pgBadger 会根据输出文件扩展名,或 -x / --extension 选项选择格式。同一次解析可多次使用 -o / --outfile,同时生成多种格式。

格式常用扩展名最适合
HTML.html带图表的交互式人类可读报告
文本.txt终端查看与纯文本归档
二进制.bin可合并的中间统计数据与报告重建
JSON.json与其他软件集成;需要 JSON::XS
原始 CSV自选输出文件使用 --dump-raw-csv 导出逐行数据

HTML 与文本

默认输出为 out.html:

$ pgbadger postgresql.log -o report.html

HTML 通常会内嵌独立浏览所需的脚本、样式、字体与报告数据。-X / --extra-files 会把增量报告的公共 JavaScript 与 CSS 移到外部文件;移动 HTML 目录时必须保留这些资源。

显式生成文本:

$ pgbadger -x text -o report.txt postgresql.log

对于支持的格式,可用 - 作为输出文件名,把内容写到标准输出。

二进制中间数据

二进制输出把“解析日志”和“展示报告”分开。可以从一份持续增长的每日日志中生成逐小时增量:

$ pgbadger --last-parsed .pgbadger_last_state \
    -o sunday/hour01.bin \
    /var/log/pgsql/postgresql-Sun.log

把一个或多个二进制文件合并为新报告:

$ pgbadger -o sunday.html sunday/*.bin

如果服务器每小时生成一个日志,可为每次轮转生成一份二进制文件,并按需重建累计 HTML:

$ pgbadger -o day1/hour01.bin postgresql-2026-08-15_01.log
$ pgbadger -o day1/hour02.bin postgresql-2026-08-15_02.log
$ pgbadger -o day1/hour03.bin postgresql-2026-08-15_03.log
$ pgbadger -o day1.html day1/*.bin

同一个目录中应只混用彼此兼容的 pgBadger 版本生成的二进制文件。升级长期保留的增量目录前,应先查看版本说明中的格式兼容性信息。

JSON

JSON 输出面向监控或报告流水线等程序化消费者:

$ pgbadger -o report.json postgresql.log

需要先安装 JSON::XS。如果可读性比文件大小和生成速度更重要,可加入 --prettify-json。

原始数据与查询导出

命令参考还提供以下专用导出模式:

  • --dump-raw-csv 解析日志并输出逐行 CSV,不再生成报告;
  • --csv-separator 修改原始 CSV 分隔符;
  • --dump-all-queries 在替换绑定参数后输出所有查询;
  • --normalized-only 输出归一化查询;
  • --query-numbering 为查询类文本输出编号。

这些输出可能包含应用 SQL、标识符、用户、客户端地址或字面量。共享前应先检查内容;如果分析不需要保留字面量,请使用 --anonymize。