0

我正在尝试使用pgbadger为 postgres 慢查询日志文件制作 html 报告。我的 postgres 日志文件在文件夹 pg_log 中采用 csvlog 格式。我将所有日志文件(80 个文件,每个文件 10 MB)传输到我的本地 Windows 机器,并尝试为所有文件生成单个 html 报告。我通过以下方式从所有文件中创建了所有一个文件,

type postgresql-2020-06-18_075333.csv > postgresql.csv
type postgresql-2020-06-18_080011.csv >> postgresql.csv
....
....
type postgresql-2020-06-18_094812.csv >> postgresql.csv

我下载了“pgbadger-11.2”并尝试了以下命令,但出现错误。

D:\pgbadger-11.2>perl --version
This is perl 5, version 28, subversion 1 (v5.28.1) built for MSWin32-x64-multi-thread

D:\pgbadger-11.2>perl pgbadger "D:\June-Logs\postgresql.csv" -o postgresql.html
[========================>] Parsed 923009530 bytes of 923009530 (100.00%), queries: 1254764, events: 53
can not load incompatible binary data, binary file is from version < 4.0.
LOG: Ok, generating html report...

postgresql.html 已创建,但任何选项卡中都没有数据。但是当我为单个 csv 创建单独的报告时它可以工作。如下所示。

D:\pgbadger-11.2>perl pgbadger "D:\June-Logs\postgresql-2020-06-18_075333.csv" -o postgresql-2020-06-18_075333.html
D:\pgbadger-11.2>perl pgbadger "D:\June-Logs\postgresql-2020-06-18_080011.csv" -o postgresql-2020-06-18_080011.html
...
D:\pgbadger-11.2>perl pgbadger "D:\June-Logs\postgresql-2020-06-18_094812.csv" -o postgresql-2020-06-18_094812.html

请建议我解决这个问题。

4

1 回答 1

0

我要这么说是因为:

type postgresql-2020-06-18_075333.csv > postgresql.csv
type postgresql-2020-06-18_080011.csv >> postgresql.csv

可以肯定的是,它正在引入 Windows 行尾,而 pgBadger 正在寻找 Unix 行尾。您可以在服务器上进行连接吗?

更新。唔。跑过这个

https://github.com/darold/pgbadger/releases

“这个新版本打破了与旧二进制文件或 JSON 文件的向后兼容性。这也意味着增量模式将无法读取旧二进制文件 [...] 添加有关版本的警告并跳过加载不兼容的二进制文件。

  • 将代码格式化程序更新为 pgFormatter 4.0。”

不知道为什么它在 CSV 日志上失败,仍然是什么版本的 pgBadger 生成日志?

于 2020-06-20T18:22:12.397 回答