2017-01-24 - v9.1
This release of pgBadger is a maintenance release that adds some new
- Add report of error class distribution when SQLState is available in the log_line_prefix (see %e placeholder).
- Update SQL Beautifier to pgFormatter v1.6 code.
- Improve error message normalization.
- Add --normalized-only option to generate a text file containing all normalized queries found in a log with count.
- Allow %c (session id) to replace %p (pid) as unique session id.
- Add waiting for lock messages to event reports.
- Add --start-monday option to start calendar weeks in Monday instead of default to Sunday.
There's also some bugs fixes and features enhancements.
- Add report of error class distribution when SQLState is available in the log line prefix. Thanks to jacks33 for the feature request.
- Fix incremental global index on resize. Thanks to clomdd for the report.
- Fix command tag log_line_prefix placeholder %i to allow space character.
- Fix --exclude-line options and removing of obsolete directory when retention is enabled and --noreport is used.
- Fix typo in "vacuum activity table". Thanks to Nicolas Gollet for the patch.
- Fix autovacuum report. Thanks to Nicolas Gollet for the patch.
- Fix author of pgbadger's logo - Damien Cazeils and English in comments. Thanks to Thibaut Madelaine for the patch.
- Add information about pgbouncer log format in the -f option. Thanks to clomdd for the report.
- Add --normalized-only information in documentation.
- Fix broken report of date-time introduced in previous patch.
- Fix duration/query association when log_duration=on and log_statement=all. Thanks to Eric Jensen for the report.
- Fix normalization of messages about advisory lock. Thanks to Thibaut Madelaine for the report.
- Fix report of auto_explain output. Thanks to fch77700 for the report.
- Fix unwanted log format auto detection with log entry from stdin. Thanks to Jesus Adolfo Parra for the report.
- Add left open parentheses to the "stop" chars of regex to look for db client in the prefix to handle the PostgreSQL client string format that includes source port. Thanks to Jon Nelson for the patch.
- Fix some spelling errors. Thanks to Jon Nelson for the patch.
- Allow %c (session id) to replace %p (pid) as unique session id. Thanks to Jerryliuk for the report.
- Allow pgbadger to parse default log_line_prefix that will be probably used in 10.0: '%m [%p] '
- Fix missing first line with interpreter call.
- Fix missing Avg values in CSV report. Thanks to Yosuke Tomita for the report.
- Fix error message in autodetect_format() method.
- Add --start-monday option to start calendar weeks in Monday instead of default to Sunday. Thanks to Joosep Mae for the feature request.
- Fix --histo-average option. Thanks to Yves Martin for the report.
- Remove plural form of --ssh-option in documentation. Thanks to mark-a-s for the report.
- Fix --exclude-time filter and rewrite code to skip unwanted line as well code to update the progress bar. Thanks to Michael Chesterton for the report.
- Fix support to %r placeholder in prefix instead of %h.
2016-09-02 - v9.0
This major release of pgBadger is a port to bootstrap 3 and a version
bugs fixes and features enhancements.
Backward compatibility with old incremental report might be preserved.
2016-08-27 - v8.3
This is a maintenance release that fix some minor bugs. This release
also adds replication command messages statistics to the Events
- Fix auto-detection of stderr format with timestamp as epoch (%n).
- Fix histogram over multiples days to be cumulative per hour, not
an average of the number of event per day.
- Fix parsing of remote file that was failing when the file does
not exists locally. Thanks to clomdd for the report.
- Detect timezones like GMT+3 on CSV logs. Thanks to jacksonfoz
for the patch.
- Add replication command messages statistics to the Events
reports. Thanks to Michael Paquier for the feature request.
This is the last minor version of the 8.x series, next major version
will include an upgrade of boostrap and jquery libraries which need
some major rewrite.
2016-08-11 version 8.2
This is a maintenance release that fix some minor bug. There is also
some performances improvement up to 20% on huge files and some new
- Multiprocessing can be used with pgbouncer log files.
- pgBouncer and PostgreSQL log files can be used together in
- With default or same prefix, stderr and syslog file can be
parsed together, csvlog format can always be used.
- Use a modal dialog window to download graphs as png images.
- Add pl/pgSQL function information to queries when available.
See ChangeLog for the complete list of changes.
2016-04-21 version 8.1
This is a maintenance release that fix a major issue introduced with
support to pgbouncer that prevent parsing of compressed PostgreSQL
log files and adds some improvements.
Here are the complete list of changes:
- Fix one case where pid file remain after dying.
- Add requirement of log_error_verbosity = default to documentation.
- Report message "LOG: using stale statistics instead of current
ones because stats collector is not responding" in events view.
- Remove obsolete days when we are in binary mode with --noreport
- Fix wrong report of statements responsible of temporary files.
Thanks to Luan Nicolini Marcondes for the report. This patch also
exclude line with log level LOCATION to be parsed.
- Fix limit on number of sample at report generation and remove
pending LAST_PARSED.tmp file.
- Update load_stat() function and global variables to support
pgbouncer statistics. Update version to 2.0.
- Handle more kind or query types. Thanks to julien Rouhaud for
- Fix pgbouncer log parser to handle message: FATAL: the database
system is shutting down
- Fix whitespace placed in between the E and the quote character.
Thanks to clijunky for the report.
- Fix a major issue introduced with support to pgbouncer that
prevent parsing of compressed PostgreSQL log files. Thanks to
Levente Birta for the report.
This is a major release that adds support to pgbouncer log files. New pgbouncer reports are:
- Request Throughput
- Bytes I/O Throughput
- Queries Average duration
- Simultaneous sessions
- Histogram of sessions times
- Sessions per database
- Sessions per user
- Sessions per host
- Established connections
- Connections per database
- Connections per user
- Connections per host
- Most used reserved pools
- Most Frequent Errors/Events
pgbouncer log files can be parsed together with PostgreSQL logs.
It also adds a two new command line options:
- --pgbouncer-only to only show pgbouncer related reports.
- --rebuild to be able to rebuild all html reports in incremental output directory where binary data files are still available.
This release fixes a major bug introduced with journalctl code that was prevented the use of multiprocess feature.
This is a maintenance release to fix a major bug that was breaking the incremental mode in pgBadger. It also adds some more reports and features.
- Add --timezone=+/-HH to control the timezone used in charts. The
the browser timezone so the displayed time in the charts can be
different from the time in the log file.
- Add /tmp/pgbadger.pid file to prevent cron jobs overlaping on
same log files.
- Add command line option --pid-dir to be able to run two pgbadger
at the same time by setting an alternate path to the pid file.
- Report information about "LOG: skipping analyze of ..." into
- Report message "LOG: sending cancel to blocking autovacuum" into
events reports. Useful to look for queries generating autovacuum
kill on account of a lock issue.
This new release fixes some issues especially in temporary files reports and adds some features.
- Allow pgBadger to parse natively the journalctl command output
- Add new keywords from PG 9.5 for code formating
- Add support to %n log_line_prefix option for Unix epoch (PG 9.6)
There's also some new command line option:
Adds --journalctl_cmd option to enable this functionality and set the command. Typically to parse output of PG 9.4 log:
--journalctl_cmd "journalctl -u postgresql-9.4"
to parse output of PG 9.4 log through the journalctl command.
See ChangeLog for the full list of changes/fixes.