PostgreSQL pgbadger 错误 - 无法加载不兼容的二进制数据,二进制文件来自版本 < 4.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-Logspostgresql.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-Logspostgresql-2020-06-18_075333.csv" -o postgresql-2020-06-18_075333.html
D:pgbadger-11.2>perl pgbadger "D:June-Logspostgresql-2020-06-18_080011.csv" -o postgresql-2020-06-18_080011.html
...
D:pgbadger-11.2>perl pgbadger "D:June-Logspostgresql-2020-06-18_094812.csv" -o postgresql-2020-06-18_094812.html

请向我建议解决此问题的方法。

我要这样说是因为:

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 生成日志?

最新更新