pgbadger

Форк
0
/
ChangeLog 
2976 строк · 144.6 Кб
1
2023-12-25 - v12.4
2

3
This is a maintenance release of pgBadger that fixes issues reported by
4
users since last release.
5

6
  - Fix pgbouncer report with version 1.21. Thanks to Ales Zeleny for the patch.
7
  - Prevent parallelism perl file to be higher than the number of files. Thanks
8
    to maliangzhu for the report.
9
  - Fix regression test broken since v12.3. Thanks to ieshin for the report.
10
  - Fix cases where LOG entries where counted as ERROR log level entries. Thanks
11
    to Matti Linnanvuori for the report.
12

13
2023-11-27 - v12.3
14

15
This is a maintenance release of pgBadger that fixes issues reported by
16
users since last release. It also adds some new features:
17

18
  * Add option --include-pid to only report events related to a session
19
    pid (%p). Can be used multiple time. Thanks to Henrietta Dombrovskaya
20
    for the feature request.
21
  * Add option --include-session to only report events related to the
22
    session id (%c). Can be used multiple time. Thanks to Henrietta Dombrovskaya
23
    for the feature request.
24
  * Add new option --dump-raw-csv to only parse the log and dump the information
25
    into CSV format. No further processing is done, no report is generated.
26
    Thanks to Henrietta Dombrovskaya for the feature request.
27

28
Here is the complete list of changes and acknowledgments:
29

30
  - Update pgFormatter to version 5.5
31
  - Fix end date of parsing with jsonlog format. Thanks to jw1u1 for the report.
32
  - Fix typo in "Sessions per application". Thanks to fairyfar for the patch.
33
  - Fix "INSERT/UPDATE/DELETE Traffic" chart bug. Thanks to fairyfar for the
34
    patch.
35
  - Fix parsing of orphan lines with bind queries. Thanks to youxq for the
36
    report.
37
  - Fix Analyze per table report with new PG versions. Thanks to Jean-Christophe
38
    Arnu for the patch.
39
  - Fix syslog entry parser when the syslog timestamp contains milliseconds.
40
    Thanks to Pavel Rabel for the report.
41

42
2023-08-20 - v12.2
43

44
This is a maintenance release of pgBadger that fixes issues reported by
45
users since last release. It also adds two new features:
46

47
  * Add support for max, avg, min autovacuum duration. Thanks to Francisco
48
    Reinolds for the patch.
49
  * Add support for pgbouncer's average waiting time. Thanks to Francisco
50
    Reinolds for the patch.
51

52
Here is the complete list of changes and acknowledgments:
53

54
  - Fix broken HTML output when application name contains <...>. Thanks to
55
    Fabio Geiss for the report.
56
  - Fix incorrect association of orphan lines when a filter on database was
57
    applied.  Thanks to jcasanov for the report.
58
  - Fix logplex prefix parsing.
59
  - Fix logplex orphan lines detection.
60
  - Fix `autovacuum`'s `system usage: CPU: ...` line parsing. Thanks to
61
    Francisco Reinolds for the patch.
62
  - Avoid prepending output directory if output is stdout.
63
  - Standardise Average Query Duration label. Thanks to Francisco Reinolds
64
    for the patch
65
  - Update documentation for new pgbadger options. Thanks to Francisco Reinolds
66
    for the patch.
67
  - Fix case where parsing was not aborted when no file handle can be opened.
68
    Thanks to vp for the report.
69
  - Fix help by adding %p/%t mandatory placeholder log information. Thanks to
70
    Christophe Courtois for the patch.
71
  - Fix --retention parameter. Thanks to Bertrand Bourgier for the patch.
72
  - Fix cleanup output directory removed by commit 0e5c7d5 when HTML output dir
73
    is set. Thanks to Bertrand Bourgier for the report.
74
  - Fix output extension when destination directory contain a character that
75
    need to be escaped in regexp. Thanks to Bertrand Bourgier for the patch.
76
  - Replace calls to POSIX::strftime("%s", ....) by a call to localtime for
77
    Windows port. Thanks to Bertrand Bourgier for the patch.
78
  - Fix html output dir cleanup. Thanks to Bertrand Bourgier for the patch.
79
  - Use https for explain URL by default. Thanks to Philipp Trulson for the
80
    patch.
81

82
2023-03-20 - v12.1
83

84
This is a maintenance release of pgBadger that fixes issues reported by users
85
since past six months.
86

87
Here is the complete list of changes and acknowledgments:
88

89
  - Fix parsing of multiline parameters. Thanks to Bekir Niyaz for the report.
90
  - Fix failure to normalize query with ::tsrange. Thanks to Philippe Griboval
91
    for the report.
92
  - Add logical decoding consistent point and start for slot log entries to
93
    the events report.
94
  - Handle other ns + timezone format in timestamp. Thanks to Ronan Dunklau
95
    for the report.
96
  - Fix detection of %m when notation with T is used. Thanks to Ronan Dunklau
97
    for the report.
98
  - Add parsing of CloudNativePG generated logs. Thanks to codrut panea for
99
    the patch.
100
  - Fix unused option --outdir in report generation. Thanks to Frederic Guiet
101
    for the report.
102
  - Update README with last documentation changes. Thanks to Manisankar for
103
    the report.
104
  - Fix a typo in pgbadger examples. Thanks to Shinichi Hashiba for the patch.
105

106
2022-09-13 - v12.0
107

108
This major release of pgBadger fixes some issues reported by users since
109
past five months. As usual there is also new features and improvements:
110

111
  * Remove support to Tsung output.
112
  * Improve pgbadger performances when there are hundred of bind parameters
113
    to replace.
114
  * Remove option -n | --nohighlight which is no more used since upgrade to
115
    pgFormatter 4.
116
  * Use POST method to send auto_explain plan to explain.depesz.com to avoid
117
    GET length parameter limit.
118
  * Apply --exclude-query and --include-query to bind/parse traces.
119
  * Add link to pgBadger report examples to documentation.
120

121
Here is the complete list of changes and acknowledgments:
122

123
  - Fix monthly reports that was failing on "log file ... must exists". Thanks
124
    to Jaume Sabater for the report.
125
  - Fix pgbouncer start parsing debug message when input is stdin. Thanks to
126
    aleszeleny for the report.
127
  - Remove support to Tsung output.
128
  - Drastically improve pgbadger performances for bind parameters
129
    replacement that could make pgbadger run infinitely when there was
130
    hundred of parameters. Thanks to Monty Mobile for the report.
131
  - Fix documentation about pgBadger return codes and also some wrong return
132
    code at some places. Thanks to Jaume Sabater for the report.
133
  - Fix several typo. Thanks to David Gilman for the patch.
134
  - Remove option -n | --nohighlight which is no more used since upgrade to
135
    pgFormatter 4. Thanks to Elena Indrupskaya for the report.
136
  - Lot of pgbadger documentation fixes. Thanks to Elena Indrupskay from
137
    Postgres Pro for the patch.
138
  - Allow half hour in --log-timezone and --timezone, value can be an integer,
139
    ex: 2 or a float, ex: 2.5. Thanks to Mujjamil-K for the feature request.
140
  - Allow use of regexp for --exclude-app and --exclude-client. Thanks to
141
    rdnkrkmz for the feature request.
142
  - Allow use of --explain-url with previous commit and restore the limitation
143
    to explain text format.
144
  - Use POST method to send auto_explain plan to explain.depesz.com to avoid
145
    GET length parameter limit. Thanks to hvisage for the report.
146
  - Apply --exclude-query and --include-query to bind/parse traces. Thanks to
147
    Alec Lazarescu for the report.
148
  - Fix parsing of autovacuum stats from RDS logs. Thanks to David Gilman for
149
    the report.
150
  - Fix passing of log format when parsing remote log. Thanks to spookypeanut
151
    the report.
152
  - Add link to pgBadger report examples to documentation.
153
  - Fix Session per user reports. Thanks to vitalca for the report.
154
  - Fix jsonlog parsing from PG15 ouput
155
  - Fix text-based error/events reporting. Thanks to Michael Banck for the patch
156
  - Fix regexp typo in normalize_error(). Thanks to Michael Banck for the patch.
157

158
2022-04-08 - v11.8
159

160
This release of pgBadger fix some issues reported by users since past
161
three months and especially two fixes on new log entries detection in
162
incremental mode.
163

164
  * Fix detection of new log entries with timestamp when millisecond (%m) or
165
    epoch (%n) was used in log_line_prefix.
166
  * Fix detection of new log entries in local file when multiprocess was not
167
    used.
168

169
Here is the complete list of changes and acknowledgments:
170

171
  - Full review and simplification of the log file change detection.
172
  - Reports messages "could not (receive|send) data (from|to) client" in the
173
    Events reports. Thanks to Adrien Nayrat for the report.
174
  - Fix parsing issue when the name of a prepared query contain the ':'
175
    character. Thanks to aleszeleny for the report.
176
  - Fix detection of new log entries with timestamp when millisecond (%m) or
177
    epoch (%n). Thanks to aleszeleny for the report.
178
  - Fix detection of new log entries in local file when multiprocess was not
179
    used. Thanks to aleszeleny for the report.
180
  - Fix detection of new log entries in remote files through ssh. Thanks to
181
    Luca Ferrari for the report
182
  - Fix garbage in username of "Connections per user" report. Thanks to
183
    caseyandgina for the report.
184
  - Fix ssh command when using URI, the ssh options was missing. Thanks to Luca
185
    Ferrari for the report.
186
  - Handle queryid %Q placeholder. Thanks to Adrien Nayrat for the patch.
187
  - Fix typo in error sentence. Thanks to Luca Ferrari for the patch
188
  - Report message: "server process was terminated by signal" in the Events
189
    report. Thanks to Avi Vallarapu for the report.
190
  - doc: fix filename for incremental every week command. Thanks to Theophile
191
    Helleboid for the patch.
192
  - t/04_advanced.t: Fix syslog test. Thanks to Christoph Berg for the patch.
193

194
2022-01-23 - v11.7
195

196
This release of pgBadger fix some issues reported by users since past
197
five months as well as some improvements:
198

199
* Add new option --no-progressbar option to not display it but keep the
200
  other outputs.
201
* Add new option --day-report that can be used to rebuild an HTML report
202
  over the specified day. Like option --month-report but only for a day.
203
  It requires the incremental output directories and the presence of all
204
  necessary binary data files. The value is date in format: YYYY-MM-DD
205
* Improve parsing of Heroku logplex and cloudsql json logs.
206

207
Here is the complete list of changes and acknowledgments:
208

209
- Update contribution guidelines and Makefile.PL to improve consistency,
210
  clarity, and dependencies. Thanks to diffuse for the patch.
211
- Fix use of last parse file (--last-parsed) with binary mode. Thanks to
212
  wibrt for the report.
213
- Add regression test for --last-parsed use and fix regression test on
214
  report for temporary files only.
215
- Fix title for session per host graph. Thanks to Norbert Bede for the
216
  report.
217
- Fix week number when computing weeks reports when --iso-week-number
218
  and --incremental options was enabled. Thanks to hansgv for the report.
219
- Add --no-progressbar option to not display it and keep the other outputs.
220
  Thanks to seidlmic for the feature request.
221
- Prevent too much unknown format line prints in debug mode for multi-line
222
  jsonlog.
223
- Fix parsing of single line cloudsql json log. Thanks to Thomas Leclaire
224
  for the report.
225
- Fix temporary files summary with log_temp_files only.
226
- Print debug message with -v even if -q or --quiet is used.
227
- Fix autodetection of jsonlog file.
228
- Fix parsing of cloudsql log file. Thanks to Luc Lamarle for the report.
229
- Fixes pid extraction in parse_json_input. Thanks to Francois Scala for
230
  the patch.
231
- Add new option --day-report with value as date in format: YYYY-MM-DD
232
  that can be used to rebuild an HTML report over the specified day.
233
  Thanks to Thomas Leclaire for the feature request.
234
- Fix query counter in progress bar. Thanks to Guillaume Lelarge for the
235
  report.
236
- Fix incomplete queries stored for top bind and prepare reports.
237
- Fix normalization of object identifier, in some case the numbers was
238
  replaced by a ?.
239
- Fix unformatted normalized queries when there is a comment at beginning.
240
- Fix multi-line in stderr format when --dbname is used. Thanks to
241
  Guillaume Lelarge for the report.
242
- Fix not generated reports in incremental mode when --dbname is used.
243
  Thanks to Dudley Perkins for the report.
244
- Do not die anymore if a binary file is not compatible, switch to next
245
  file. Thanks to Thomas Leclaire for the suggestion.
246
- Fix Heroku logplex format change in pgbadger parser. Thanks to François
247
  Pietka for the report.
248

249
2021-09-04 - v11.6
250

251
This release of pgBadger fix some issues reported by users since past
252
seven months as well as some improvements:
253

254
  * Add detection of Query Id in log_line_prefix new in PG14. Thanks to
255
    Florent Jardin for the report.
256
  * Add advanced regression tests with db exclusion and the explode
257
    feature. Thanks to MigOps Inc for the patch.
258
  * Apply multiprocess to report generation when --explode is used.
259
    Thanks to MigOps Inc for the patch and Thomas Leclaire for the
260
    feature request.
261
  * Add --iso-week-number in incremental mode, calendar's weeks start
262
    on a Monday and respect the ISO 8601 week number, range 01 to 53,
263
    where week 1 is the first week that has at least 4 days in the new
264
    year. Thanks to Alex Muntada for the feature request.
265
  * Add command line option --keep-comments to not remove comments from
266
    normalized queries. It can be useful if you want to distinguish
267
    between same normalized queries. Thanks to Stefan Corneliu Petrea
268
    for the feature request.
269
  * Skip INFO lines introduced in PostgreSQL log file by third parties
270
    software. Thanks to David Piscitelli for the report.
271
  * Add compatibility with PostgresPro log file including rows number
272
    and size in bytes following the statement duration. Thanks to
273
    panatamann for the report.
274
  * Parse times with T's to allow using the timestamps from journalctl.
275
    Thanks to Graham Christensen for the patch.
276
  * Improve Windows port. Thanks to Bertrand Bourgier for the patches.
277

278
Important note:
279

280
  * Expect that --iso-week-number will be the default in next major
281
    release and that --start-monday option will be removed as the week
282
    will always start a Monday. The possibility to have week reports
283
    start a Sunday will be removed to simplify the code.
284

285
Here is the complete list of changes and acknowledgments:
286

287
  - Fix duplicate of warning message:
288
      "database ... must be vacuumed within ... transactions".
289
    Thank to Christophe Courtois for the report.
290
  - Fix use of uninitialized variable. Thanks to phiresky for the report.
291
  - Improve query id detection, it can be negative, as well as read it
292
    from csvlog.
293
  - Fix case where last file in incremental mode is always parsed even if
294
    it was already done. Thanks to  Thomas Leclaire for the report.
295
  - Update syslog format regex to handle where session line indicator
296
    only contains one int vs two ints separated by dash. Thanks to
297
    Timothy Alexander for the patch.
298
  - Fix --exclude-db option to create anyway the related report with json
299
    log. Thanks to MigOps Inc for the patch and Thomas Leclaire for the
300
    report.
301
  - Add regression test about Storable buggy version.
302
  - Fix use of uninitialized value in substitution iterator in incremental
303
    mode during the week report generation. Thanks to Thomas Leclaire,
304
    Michael Vitale, Sumeet Shukla and Stefan Corneliu Petrea for the report.
305
  - Add 'g' option to replace all bind parameters. Thanks to Nicolas Lutic
306
    and Sebastien Lardiere for the patch.
307
  - Documentation improvements. Thanks to Stefan Petrea for the patch.
308
  - Fixes change log time zone calculation. Thanks to Stefan Petrea for
309
    the patch.
310
  - Fix log filter by begin/end time.
311
  - Fix wrong association of orphan lines for multi-line queries with a
312
    filter on database. Thanks to Abhishek Mehta for the report.
313
  - Fix reports in incremental mode when --dbname parameter is partially
314
    ignored with "explode" option (-E). Thanks to lrevest for the report.
315
  - Update javascript resources.
316
  - Fix display of menu before switching to hamburger mode when screen is
317
    reduced. Thanks to Guillaume Lelarge for the report.
318
  - Fix bind parameters values over multiple lines in the log that were
319
    not well supported.
320
  - Apply same fix for previous patch than in pgFormatter.
321
  - Fix an other use of uninitialized value in substitution iterator from
322
    pgFormatter code. Thanks to Christophe Courtois for the report.
323
  - Fix query normalization. Thanks to Jeffrey Beale for the patch.
324
  - Be sure that all statements end with a semicolon when --dump-all-queries
325
    is used. Thanks to Christian for the report.
326
  - Fix typo and init of EOL type with multiple log files.
327
  - Add auto detection of EOL type to fix LAST_PARSED offset when OEL is on
328
    2 bytes (Windows case). Thanks to Bertrand Bourgier for the patch.
329
  - Fix get_day_of_week() port on Windows where strftime %u is not supported.
330
    Thanks to Bertrand Bourgier for the patch.
331
  - Fix Windows port that call pl2bat.bat perl utility to create a corrupted
332
    pgbadger.bat du to the way __DATA__ was read in pgbadger. Thanks to
333
    Bertrand Bourgier for the patch.
334
  - Fix begin/end time filter and add regression test for timestamp filters.
335
    Thanks to Alexis Lahouze and plmayekar for the report.
336
  - Fix use of uninitialized value in pattern match introduced by pgFormatter
337
    update. Thanks to arlt for the report.
338

339
2021-02-18 - v11.5
340

341
This release of pgBadger fix some issues reported by users since
342
past three months as well as some improvements:
343

344
  * Add report about sessions idle time, computed using:
345
        "total sessions time - total queries time / number of sessions
346
    This require that log_connection and log disconnection have been
347
    enabled and that log_min_duration_statement = 0 (all queries logged)
348
    to have a reliable value. This can help to know how much idle time
349
    is lost, and if a pooler transaction mode would be useful.
350
    This report is available in the "Sessions" tab of "Global Stats"
351
    and in the "Sessions" tab of "General Activity" reports (per hour).
352
  * Add anonymization of numeric values, replaced by 4 random digits.
353
  * Update SQL beautifier based on pgFormatter 5.0.
354

355
Here is the complete list of changes and acknowledgments:
356

357
  - Fix parsing of cloudsql multi-line statement. Thanks to Jon Young for the report. 
358
  - Add regression test for anonymization.
359
  - Fix anonymization broken by maxlength truncate. Thanks to artl for the report.
360
  - Add anonymization of parameter in time consuming prepare and bind reports. Thanks to arlt for the report.
361
  - Add support to microseconds in logplex log line prefix. Thanks to Ross Gardiner for the report.
362
  - Add report about sessions idle time. Thanks to Guillaume Lelarge for the feature request.
363
  - Complete patch to support multi-line in jsonlog format.
364

365

366
2020-11-24 - v11.4
367

368
This release of pgBadger fix some issues reported by users since
369
past four months. Improve support for PostgreSQL 13 log information
370
and adds some new features:
371

372
  * Add full autovacuum information in "Vacuums per table" report for
373
    buffer usage (hits, missed, dirtied), skipped due to pins, skipped
374
    frozen and WAL usage (records, full page images, bytes). In report
375
    "Tuples removed per table" additional autovacuum information are
376
    tuples remaining, tuples not yet removable and pages remaining.
377
    These information are only available on the "Table" tab.
378
  * Add new repartition report about checkpoint starting causes.
379
  * Add detection of application name from connection authorized traces.
380

381
Here is the complete list of changes and acknowledgments:
382

383
  - Fix typo in an error message. Thanks to Vidar Tyldum for the patch.
384
  - Fix Windows port with error: "can not load incompatible binary data".
385
    Thanks to Eric Brawner for the report.
386
  - Fix typo on option --html-outdir in pgbadger usage and documentation.
387
    Thanks to Vidar Tyldum for the patch.
388
  - Fix autodetection of jsonlog/cloudsql format. Thanks to Jon Young
389
    for the report.
390
  - Fix CSV log parsing with PG v13. Thanks to Kanwei Li for the report
391
    and Kaarel Moppel for the patch.
392
  - Fix sort of queries generating the most temporary files report.
393
    Thanks to Sebastien Lardiere for the report.
394
  - Add pgbadger version trace in debug mode.
395

396

397
2020-07-26 - v11.3
398

399
This release of pgBadger fix several issues reported by users since
400
past four months. It also adds some new features and new command line
401
options:
402

403
  * Add autodetection of UTC timestamp to avoid applying timezone
404
    for graphs.
405
  * Add support to GCP CloudSQL json log format.
406
  * Add new option --dump-all-queries to use pgBadger to dump all
407
    queries to a text file, no report is generated just the full list
408
    of statements found in the PostgreSQL log. Bind parameters are
409
    inserted into the queries at their respective position.
410
  * Add new option -Q | --query-numbering used to add numbering of
411
    queries to the output when using options --dump-all-queries or
412
    --normalized-only.
413
  * Add new command line option --tempdir to set the directory where
414
    temporary files will be written. Can be useful on system that do
415
    not allow writing to /tmp.
416
  * Add command line option --ssh-port used to set the ssh port if not
417
    default to 22. The URI notation also adds support to ssh port
418
    specification by using the form:
419
        ssh://192.168.1.100:2222//var/log/postgresql-11.log
420

421
Here is the complete list of changes and acknowledgments:
422

423
  - Fix incremental reports for jsonlog/cloudsql log format. Thanks
424
    to Ryan DeShone for the report
425
  - Add autodetection of UTC timestamp to avoid applying autodetected
426
    timezone for graphs. With UTC time the javascript will apply the
427
    local timezone. Thanks to Brett Stauner for the report.
428
  - Fix incremental parsing of journalctl logs doesn't work from the
429
    second run. Thanks to Paweł Koziol for the patch.
430
  - Fix path to resources file when -X and -E are used. Thanks to Ryan
431
    DeShone for the report.
432
  - Fix General Activity report about read/write queries. Thanks to
433
    alexandre-sk5 for the report.
434
  - Add debug message when parallel mode is not use.
435
  - Fix elsif logic in file size detection and extra space introduced
436
    in the journalctl command when the --since option is added. Thanks
437
    to Pawel Koziol for the patch.
438
  - Fix "not a valid file descriptor" error. Thanks to Pawel Koziol
439
    for the report.
440
  - Fix incremental mode with RDS files. Thanks to Ildefonso Camargo,
441
    nodje and John Walsh for the report.
442
  - Add new option -Q | --query-numbering used to add numbering of
443
    queries to the output when using options --dump-all-queries or
444
    --normalized-only. This can be useful to extract multiline queries
445
    in the output file from an external script. Thanks to Shantanu Oak
446
    for the feature request.
447
  - Fix parsing of cloudsql json logs when log_min_duration_statement
448
   is enabled. Thanks to alexandre-sk5 for the report.
449
  - Fix wrong hash key for users in RDS log. Thanks to vosmax for the
450
    report.
451
  - Fix error related to modification of non-creatable array value.
452
    Thanks to John Walsh and Mark Fletcher for the report.
453
  - Add support to GCP CloudSQL json log format, log format (-f) is
454
    jsonlog. Thanks to Thomas Poindessous for the feature request.
455
  - Add new option --dump-all-queries to use pgBadger to dump all
456
    queries to a text file, no report is generated just the full list
457
    of statements found in the PostgreSQL log. Bind parameters are
458
    inserted into the queries at their respective position. There is
459
    not sort on unique queries, all queries are logged. Thanks to
460
    Shantanu Oak for the feature request.
461
  - Add documentation for --dump-all-queries option.
462
  - Fix vacuum report for new PG version. Thanks to Alexey Timanovsky
463
    for the report.
464
  - Add new command line option --no-process-info to disable change of
465
    process title to help identify pgbadger process, some system do
466
    not allow it. Thanks to Akshay2378 for the report.
467
  - Add new command line option --tempdir to set the directory where
468
    temporary files will be written. Default:
469
        File::Spec->tmpdir() || '/tmp'
470
    Can be useful on system that do not allow writing to /tmp. Thanks
471
    to Akshay2378 for the report.
472
  - Fix unsupported compressed filenames with spaces and/or brackets.
473
    Thanks to Alexey Timanovsky for the report.
474
  - Add command line option --ssh-port used to set the ssh port if not
475
    default to 22. The URI notation also adds support to ssh port
476
    specification by using the form:
477
        ssh://192.168.1.100:2222//var/log/postgresql-11.log
478
    Thanks to Augusto Murri for the feature request.
479

480

481
2020-03-11 - v11.2
482

483
This release of pgBadger fix several issues reported by users since
484
past six months. It also adds some new features:
485

486
  * Add support and autodetection of AWS redshift log format.
487
  * Add support to pgbouncer 1.11 new log format.
488
  * Handle zstd and lz4 compression format
489
  * Allow to fully separate statistics build and HTML report build in
490
    incremental mode without having to read a log file. For example
491
    it is possible to run pgbadger each hours as follow:
492
    
493
        pgbadger -I -O "/out-dir/data" --noreport /var/log/postgresql*.log
494
    
495
    It just creates the data binary files in "/out-dir/data" then
496
   for example you can make reports each night for the next day in
497
   a separate directory `/out-dir/reports`:
498
    
499
        pgbadger -I -l "/out-dir/data/LAST_PARSED" -H "/out-dir/reports" /out-dir/data/2020/02/19/*.bin
500
    
501
    This require to set the path to the last parsed information, the
502
    path where HTML reports will be written and the binary data file
503
    of the day.
504

505
There is also new command line options:
506

507
  * Add new command line option --explain-url used to override the url
508
    of the graphical explain tool. Default URL is:
509
    
510
        http://explain.depesz.com/?is_public=0&is_anon=0&plan=
511
    
512
    If you want to use a local install of PgExplain or an other tool.
513
    pgBadger will add the plan in text format escaped at the end of
514
    the URL.
515

516
  * Add new option --no-week to instruct pgbadger to not build weekly
517
    reports in incremental mode. Useful if it takes too much time and
518
    resources.
519

520
  * Add new command line option --command to be able to set a command
521
    that pgBadger will execute to retrieve log entries on stdin.
522
    pgBadger will open a pipe to the command and parse log entries
523
    generated by the command. For example:
524
    
525
      pgbadger -f stderr --command 'cat /var/log/postgresql.log'
526
    
527
    which is the same as executing pgbadger with the log file directly
528
    as argument. The interest of this option is obvious if you have to
529
    modify the log file on the fly or that log entries are extracted
530
    from a program or generated from a database. For example:
531
    
532
      pgbadger -f csv --command 'psql dbname -c "COPY jrn_log TO STDOUT (FORMAT CSV)"'
533
    
534
  * Add new command line option --noexplain to prevent pgBadger to
535
    parse and report explain plan written to log by auto_explain
536
    extension. This is useful if you have a PostgreSQL version < 9.0
537
    where pgBadger generate broken reports when there is explain plan
538
    in log.
539

540
Backward compatibility:
541

542
  - By default pgBadger will truncate queries up to 100000 characters.
543
    This arbitrary value and can be adjusted using option --maxlength.
544
    Previous behavior was to not truncate queries but this could
545
    lead in excessive resources usage. Limiting default size is safer
546
    and the size limit might allow no truncate in most cases. However
547
    queries will not be beautified if they exceed 25000 characters.
548

549
Here is the complete list of changes and acknowledgments:
550

551
  - Fix non working --exclude-client option. Thanks to John Walsh
552
    for the report.
553
  - Add regression test for RDS log parsing and --exclude-client.
554
  - Fix progress bar for pgbouncer log file. The "queries" label is
555
    changed in "stats" for pgbouncer log files.
556
  - Add command line option --explain-url used to override the url
557
    of the graphical explain tool. Thanks to Christophe Courtois for
558
    the feature request.
559
  - Add support to pgbouncer 1.11 new log format. Thanks to Dan
560
    Aksenov for the report.
561
  - Handle zstd and lz4 compression format. Thanks to Adrien Nayrat
562
    for the patch.
563
  - Add support and autodetection of AWS redshift log format. Thanks
564
    to Bhuvanesh for the reature request.
565
  - Update documentation about redshift log format.
566
  - Add new option --no-week to instruct pgbadger to not build weekly
567
    reports in incremental mode. Thanks to cleverKermit17 for the
568
    feature request.
569
  - Fix a pattern match on file path that breaks pgBadger on Windows.
570
  - Fix #554 about cyrillic and other encoded statement parameters
571
    that was not reported properly in the HTML report even with custom
572
    charset. The regression was introduced with a fix to the well
573
    known Perl error message "Wide character in print". The patch have
574
    been reverted and a new command line option: --wide-char is
575
    available to recover this behavior. Add this option to your
576
    pgbadger command if you have message "Wide character in print".
577
    Add a regression test with Cyrillic and french encoding. Thanks
578
    to 4815162342lost and yethee for the report.
579
  - Update documentation to inform that lc_messages = 'en_US.UTF-8'
580
    is valid too. Thanks to nodje for the report.
581
  - Update documentation about --maxlength which default truncate size
582
    is 100000 and no more default to no truncate. Thanks to nodje for
583
    the report.
584
  - Fix retention calculation at year overlap. Thanks to Fabio Pereira
585
    for the patch.
586
  - Fix parsing of rds log file format. Thanks to Kadaffy Talavera for
587
    the report.
588
  - Prevent generating empty index file in incremental mode when there
589
    is no new log entries. Thanks to Kadaffy Talavera for the report.
590
  - Fix non up to date documentation. Thanks to Eric Hanson for the
591
    patch.
592
  - Fixes the command line parameter from -no-explain to -noexplain.
593
    Thanks to Indrek Toom for the patch.
594
  - Fall back to default file size when totalsize can not be found.
595
    Thanks to Adrien Nayrat for the patch.
596
  - Fix some dates in examples. Thanks to Greg Clough for the patch.
597
  - Use compressed file extension regexp in remaining test and extract
598
    .bin extension in a separate condition.
599
  - Handle zstd and lz4 compression format. Thanks to Adrien Nayrat
600
    for the patch.
601
  - Fix remaining call of SIGUSR2 on Windows. Thanks to inrap for the
602
    report.
603
  - Fix progress bar with log file of indetermined size.
604
  - Add new command line option --command to be able to set a command
605
    that pgBadger will execute to retrieve log entries on stdin.
606
    Thanks to Justin Pryzby for the feature request.
607
  - Add new command line option --noexplain to prevent pgBadger to
608
    parse and report explain plan written to log by auto_explain
609
    extension. This is useful if you have a PostgreSQL version < 9.0
610
    where pgBadger generate broken reports when there is explain plan
611
    in log. Thanks to Massimo Sala for the feature request.
612
  - Fix RDS log parsing when the prefix is set at command line. Thanks
613
    to Bing Zhao for the report.
614
  - Fix incremental mode with rds log format. Thanks to Bing Zhao for
615
    the report.
616
  - Fix possible rds log parsing. Thanks to James van Lommel and Simon
617
    Dobner for the report.
618
  - Fix statement classification and add regression test. Thanks to
619
    alexanderlaw for the report.
620
  - Fix anonymization of single characters in IN clause. Thanks to
621
    Massimo Sala for the report.
622
  - Fix RDS log parsing for rows without client/user/db information.
623
    Thanks to Konrad for the report.
624

625
2019-09-16 - v11.1
626

627
This release of pgBadger fix several issues reported by users since
628
three months. It also adds some new features and reports:
629

630
  - Add report of top N queries that consume the most time in the
631
    prepare or parse stage.
632
  - Add report of top N queries that consume the most time in the
633
    bind stage.
634
  - Add report of timing for prepare/bind/execute queries parts.
635
    Reported in a new "Duration" tab in Global Stats report. Example:
636
        Total query duration: 6m16s
637
        Prepare/parse total duration: 45s564ms
638
        Bind total duration: 4m46s
639
        Execute total duration: 44s71m
640
    This also fix previous report of "Total query duration" that was
641
    only reporting execute total duration.
642
  - Add support to RDS and CloudWatch log format, they are detected
643
    automatically. You can use -f rds if pgbadger is not able to
644
    auto-detect the log format.
645
  - Add new configuration option --month-report to be able to build
646
    monthly incremental reports.
647
  - Restore support to Windows operating system.
648

649
There's also some bugs fixes and features enhancements.
650

651
  - Add auto-generated Markdown documentation in README.md using tool
652
    pod2markdown. If the command is not present the file will just not
653
    be generated. Thanks to Derek Yang for the patch.
654
  - Translate action WITH into CTE, regression introduced in last release.
655
  - Fix support of Windows Operating System
656
  - Add support to RDS and CloudWatch log format, use -f rds if pgbadger is
657
    not able to auto-detect this log format. Thanks to peruuparkar for the
658
    feature request.
659
  - Fix option -f | --format that was not applied on all files get from the
660
    parameter list where log format auto-detection was failing, the format was
661
    taken from the fist file parsed. Thanks to Levente Birta for the report.
662
  - Update source documentation file to replace reference to pgBadger v7.x
663
    with v11. Thanks to Will Buckner for the patch.
664
  - Limit height display size of top queries to avoid taking the whole page
665
    with huge queries. Thanks to ilias ilisepe1 for the patch.
666
  - Fix overflow of queries and detail in Slowest individual queries.
667
  - Fix SSH URIs for files, directories and wildcards. Thanks to tbussmann for
668
    the patch.
669
  - Fix URI samples in documentation. Thanks to tbussmann for the patch.
670
  - Hide message of use of default out file when --rebuild is used.
671
  - Add extra newline to usage() output to not bread POD documentation at
672
    make time.
673
  - Reapply --exclude-client option description in documentation. Thanks to
674
    Christoph Berg for the report.
675

676
2019-06-25 - v11.0
677

678
This release of pgBadger adds some major new features and fixes some
679
issues reported by users since the last four months. New features:
680

681
  - Regroup cursor related query (DECLARE,CLOSE,FETCH,MOVE) into new
682
    query type CURSOR.
683
  - Add top bind queries that generate the more temporary files.
684
    Require log_connection and log_disconnection be activated.
685
  - Add --exclude-client command line option to be able to exclude log
686
    entries for the specified client ip. Can be used multiple time.
687
  - Allow to use time only in --begin and --end filters.
688
  - Add -H, --html-dir option to be able to set a different path where
689
    HTML report must be written in incremental mode. Binary files stay
690
    on directory defined with -O, --outdir option.
691
  - Add -E | --explode option to explode the main report into one
692
    report per database. Global information not related to a database
693
    are added to the postgres database report.
694
  - Add per database report to incremental mode. In this mode there
695
    will be a sub directory per database with dedicated incremental
696
    reports.
697
  - Add support to Heroku's PostgreSQL logplex format. Log can be
698
    parsed using:
699

700
      heroku logs -p postgres | pgbadger -f logplex -o heroku.html -
701

702
  - When a query is > 10Kb we first limit size of all constant string
703
    parameters to 30 characters and then the query is truncated to 10Kb.
704
    This prevent pgbadger to waste time/hang with very long queries
705
    when inserting bytea for example. The 10Kb limit can be controlled
706
    with the --maxlength command line parameter.
707
    The query is normalized or truncated to maxlength value only after
708
    this first attempt to limit size.
709

710
This new release breaks backward compatibility with old binary or JSON
711
files. This also mean that incremental mode will not be able to read
712
old binary file. If you want to update pgBadger and keep you old reports
713
take care to upgrade at start of a new week otherwise weekly report will
714
be broken. pgBadger will print a warning and just skip the old binary
715
file.
716

717
There's also some bugs fixes and features enhancements.
718

719
  - Add a warning about version and skip loading incompatible binary file.
720
  - Update code formatter to pgFormatter 4.0.
721
  - Fix pgbadger hang on Windows OS. Thanks to JMLessard for the report.
722
  - Update tools/pgbadger_tools script to be compatible with new binary
723
    file format in pgBadger v11.
724
  - Add top bind queries that generate the more temporary files. This
725
    collect is possible only if log_connection and log_disconnection
726
    are activated in postgresql.conf. Thanks to Ildefonso Camargo for
727
    the feature request.
728
  - Fix auto detection of timezone. Thanks to massimosala for the fix.
729
  - Remove some remaining graph when --nograph is used
730
  - Force use of .txt extension when --normalized-only is used.
731
  - Fix report of auto vacuum/analyze in logplex format. Thanks to
732
    Konrad zichul for the report.
733
  - Fix use of progress bar on Windows operating system. Thanks to
734
    JMLessard for the report.
735
  - Use a `$prefix_vars{'t_time'} to store the log time. Thanks to Luca
736
    Ferrari for the patch.
737
  - Update usage and documentation to remove perl command from pgbadger
738
    invocations. Thanks to Luca Ferrari for the patch.
739
  - Use begin and end with times without date. Thanks to Luca Ferrari
740
    for the patch.
741
  - Added some very minor spelling and grammar fixes to the readme file.
742
    Thanks to ofni yratilim for the patch.
743
  - Fix remote paths using SSH. Thanks to Luca Ferrari for the patch.
744
  - Update regression test to works with new structure introduced with
745
    the per database report feature.
746
  - Fix fractional seconds in all begin and end parameters. Thanks to
747
    Luca Ferrari for the patch.
748
  - Fix documentation URL. Thanks to Kara Mansel for the report.
749
  - Fix parsing of auto_explain.
750
    Add more information about -U option that can be used multiple time.
751
    Thanks to Douglas J Hunley for the report.
752
  - Lot of HTML / CSS report improvements. Thanks to Pierre Giraud for
753
    the patches.
754
  - Update resource file.
755
  - Add regression test for logplex format.
756
  - Add support to Heroku's PostgreSQL logplex format. You should be able
757
    to parse these logs as follow:
758
        heroku logs -p postgres | pgbadger -f logplex -o heroku.html -
759
    or if you have already saved the output to a file:
760
        pgbadger heroku.log
761
    The logplex format is auto-dectected like any other supported format.
762
    pgBadger understand the following default log_line_prefix:
763
        database = %d connection_source = %r sql_error_code = %e
764
    or simply:
765
        sql_error_code = %e
766
    Let me know if there's any other default log_line_prefix. The prefix
767
    can always be set using the -p | --prefix pgbadger option:
768
        pgbadger --p 'base = %d source = %r sql_state = %e' heroku.log
769
    for example.
770
    Thanks to Anthony Sosso for the feature request.
771
  - Fix pgbadger help on URI use.
772
  - Fix broken wildcard use in ssh URI introduced in previous patch.
773
    Thanks to Tobias Bussmann for the report.
774
  - Allow URI with space in path to log file. Thanks to Tobias Bussmann
775
    for the report.
776
  - Fix URI samples in documentation. Thanks to Tobias Bussmann for the
777
    patch.
778
  - Fix t/02_basics.t to don't fail if syslog test takes more than 10s.
779
    Thanks to Christoph Berg for the patch.
780

781
2019-02-14 - v10.3
782

783
This release of pgBadger is a maintenance release that fixes some
784
log format autodetection issues another pgBouncer log parsing issue
785
reported by users. There is also a new feature:
786

787
    The -o | --outfile option can now be used multiple time to dump
788
    output in several format in a single command. For example:
789
        pgbadger -o out.html -o out.json /log/pgsql-11.log
790
    will create two reports in html and json format saved in the
791
    two corresponding files.
792

793
There's also some bugs fixes and features enhancements.
794

795
  - Fix statistics reports when there a filter on database, user,
796
    client or application is requested. Some queries was not
797
    reported.
798
  - Fix autodetection of pg>=10 defauilt log line prefix.
799
  - Fix autodetection of log file with "non standard" log line prefix.
800
    If --prefix specify %t, %m, %n and %p or %c, set format to stderr.
801
    Thanks to Alex Danvy for the report.
802
  - Remove extra space at end of line.
803
  - Add minimal test to syslog parser.
804
  - Fix a call to autodetect_format().
805
  - Truncate statement when maxlength is used. Thanks to Thibaud
806
    Madelaine for the patch.
807
  - Add test for multiple output format.
808
  - The -o | --outfile option can now be used multiple time to dump
809
    output in several format in a single command. For example:
810
      pgbadger -o out.txt -o out.html -o - -x json /log/pgsql-11.log
811
    Here pgbadger will create two reports in text and html format
812
    saved in the two corresponding file. It will also output a json
813
    report on standard output. Thanks to Nikolay for the feature
814
    request.
815
  - Move detection of output format and setting of out filename into
816
    a dedicated function set_output_extension().
817
  - Fix another pgBouncer log parsing issue. Thanks to Douglas J.
818
    Hunley for the report.
819

820
2018-12-27 - v10.2
821

822
This release of pgBadger is a maintenance release that fixes issues
823
reported by users during last three months. There is also some new
824
features:
825

826
  * Add support to pgbouncer 1.8 Stats log format.
827
  * Auto adjust javascript graph timezone.
828

829
There is a new command line option:
830

831
  * Add --exclude-db option to compute report about everything except
832
    the specified database.
833
  * Add support to http or ftp remote PostgreSQL log file download.
834
    The log file is parsed during the download using curl command
835
    and never saved to disk. With ssh remote log parsing you can use
836
    uri as command line argument to specify the PostgreSQL log file.
837
    
838
            ssh://localhost/postgresql-10-main.log
839
            http://localhost/postgresql-10-main.log.gz
840
            ftp://localhost/postgresql-10-main.log
841
    
842
    with http and ftp protocol you need to specify the log file format
843
    at end of the uri:
844
    
845
            http://localhost/postgresql-10-main.log:stderr
846
    
847
    You can specify multiple uri for log files to be parsed. This is
848
    useful when you have pgbouncer log file on a remote host and
849
    PostgreSQL logs in the local host.
850

851
    With ssh protocol you can use wild card too like with remote
852
    mode, ex: ssh://localhost/postgresql-10-main.log*
853
    
854
    Old syntax to parse remote log file using -r option is still
855
    working but is obsolete and might be removed in future versions.
856

857

858
There's also some bugs fixes and features enhancements.
859

860
  - Adjust end of progress bar with files with estimate size (bz2
861
    compressed files and remote compressed files.
862
  - Update year in copyright.
863
  - Add information about URI notation to parse remote log files.
864
  - Force progress to reach 100% at end of parsing of compressed
865
    remote file.
866
  - Extract information about PL/pgSQL function call in queries of
867
    temporary file reports. The information is append to the details
868
    display block.
869
  - Fix progress bar with csv files.
870
  - Fix reading binary file as input file instead of log file.
871
  - Encode html output of queries into UTF8 to avoid message "Wide
872
    character in print". Thanks to Colin 't Hart for the report.
873
  - Add Checkpoints distance key/value for distance peak.
874
  - Fix pgbouncer parsing and request throughput reports. Thanks
875
    to Levente Birta for the report.
876
  - Fix use of csvlog instead of csv for input format.
877
  - Add support to pgbouncer 1.8 Stats log format. Thanks to Levente
878
    Birta for the report.
879
  - Add warning about parallel processing disabled with csvlog. Thanks
880
    to cstdenis for the report.
881
  - Add information in usage output about single process forcing with
882
    csvlog format in -j and -J options. Thanks to cstdenis for the
883
    report.
884
  - Fix unknown line format error for multi line log while incremental
885
    analysis over ssh. Thanks to Wooyoung Cho for the report.
886
  - Add -k (--insecure) option to curl command to be able to download
887
    logs from server using a self signed certificate.
888
  - Auto adjust javascript graph timezone. Thanks to Massimino Sala
889
    for the feature request.
890
  - Add support to HTTP logfile download by pgBadger, for example:
891
        /usr/bin/pgbadger http://www.mydom.com/postgresql-10.log
892
  - Will parse the file during download using curl command.
893
  - Fix documentation. Thanks to 0xflotus for the patch.
894
  - Reapply fix on missing replacement of bind parameters after some
895
    extra code cleaning. Thanks to Bernhard J. M. Grun for the report.
896
  - Add --exclude-db option to compute report about everything except
897
    the specified database. The option can be used multiple time.
898

899
2018-09-12 - v10.1
900

901
This release of pgBadger is a maintenance release that fixes reports
902
in incremental mode and multiprocess with -j option. Log parsing from
903
standard input was also broken. If you are using v10.0 please upgrade
904
now.
905

906
  - Add test on pgbouncer log parser.
907
  - Some little performances improvment.
908
  - Fix not a valid file descriptor at pgbadger line 12314.
909
  - Fix unwanted newline in progressbar at startup.
910
  - Remove circleci files from the project.
911
  - Remove dependency of bats and jq for the test suite, they are
912
    replaced with Test::Simple and JSON::XS.
913
  - Add more tests especially for incremental mode and input from
914
    stdin that was broken in release 10.0.
915
  - Sync pgbadger, pod, and README, and fix some syntax errors.
916
    Thanks to Christoph Berg for the patch.
917
  - Add documentation on how to install Perl module JSON::XS from
918
    apt and yum repositories.
919
  - Fix URI for CSS in incremental mode. Thanks to Floris van Nee
920
    for the report.
921
  - Fix fatal error when looking for log from STDIN. Thanks to
922
    Jacek Szpot for the report.
923
  - Fixes SED use for OSX builds. Thanks to Steve Newson for the
924
    patch.
925
  - Fix illegal division by zero in incrental mode. Thanks to
926
    aleszeleny for the report.
927
  - Replace SQL::Beautify with v3.1 of pgFormatter::Beautify.
928

929
2018-09-09 - v10.0
930

931
This release of pgBadger is a major release that adds some new
932
features and fix all issues reported by users since last release.
933

934
  * Add support of pgbouncer syslog log file format.
935
  * Add support to all auto_explain format (text, xml, json and yaml).
936
  * Add support to %q placeholder in log_line_prefix.
937
  * Add jsonlog format of Michael Paquier extension, with -f jsonlog
938
    pgbadger will be able to parse the log.
939
  * Replace the SQL formatter/beautify with v3.0 of pgFormatter.
940

941
There is some new command line option:
942

943
  - Add --prettify-json command line option to prettify JSON output.
944
  - Add --log-timezone  +/-XX  command line option to set the number
945
    of hours from GMT of the timezone that must be used to adjust
946
    date/time read from log file before beeing parsed. Note that you
947
    might still need to adjust the graph timezone using -Z when the
948
    client has not the same timezone.
949
  - Add --include-time option to add the ability to choose times that
950
    you want to see, instead of excluding all the times you do not
951
    want to see (--exclude-time).
952

953
The pgBadger project and copyrights has been transfered from Dalibo
954
to the author and official maintainer of the project. Please update
955
your links:
956

957
  - Web site: http://pgbadger.darold.net/
958
  - Source code: https://github.com/darold/pgbadger
959

960
I want to thanks the great guys at Dalibo for all their investments
961
into pgBadger during these years and especially Damien Clochard and
962
Jean-paul argudo for their help to promote pgBadger.
963

964

965
  - Fix checkpoint distance and estimate not reported in incremental
966
    mode. Thanks to aleszeleny for the report.
967
  - Fix title of pgbouncer simultaneous session report. Thansks to
968
    Jehan Guillaume De Rorthais for the report.
969
  - Add support of pgbouncer syslog log file format. Thanks to djester
970
    for the feature request.
971
  - Fix error when a remote log is empty. Thanks to Parasit Hendersson
972
    for the report.
973
  - Fix test with binary format. Binary file must be generated as it
974
    is dependent of the plateform. Thanks to Michal Nowak for the
975
    report.
976
  - Fix case where an empty explain plan is generated.
977
  - Fix parsing of autodetected default format with a prefix in
978
    command line.
979
  - Remove dependency of git command in Makefile.PL.
980
  - Update documentation about options changes and remove of the
981
    [%l-1] part of the mandatory prefix.
982
  - Fix parsing of vacuum / analyze system usage for PostgreSQL 10.
983
    Thanks to Achilleas Mantzios for the patch.
984
  - Fix Temporary File Activity table.
985
  - Remove dependency to git during install.
986
  - Add --log-timezone  +/-XX  command line option to set the number
987
    of hours from GMT of the timezone that must be used to adjust
988
    date/time read from log file before beeing parsed. Using this
989
    option make more difficult log search with a date/time because the
990
    time will not be the same in the log. Note that you might still
991
    need to adjust the graph timezone using -Z when the client has not
992
    the same timezone. Thanks to xdexter for the feature request and
993
    Julien Tachoire for the patch.
994
  - Add support to auto_explain json output format. Thanks to dmius
995
    for the report.
996
  - Fix auto_explain parser and queries that was counted twice.
997
    Thanks to zam6ak for the report.
998
  - Fix checkpoint regex to match PostgreSQL 10 log messages. Thanks
999
    to Edmund Horner for the patch.
1000
  - Update description of -f | --format option by adding information
1001
    about jsonlog format.
1002
  - Fix query normalisation to not duplicate with bind queries.
1003
    Normalisation of values are now tranformed into a single ? and no
1004
    more 0 for numbers, two single quote for string. Thanks to vadv
1005
    for the report.
1006
  - Fix log level count. Thanks to Jean-Christophe Arnu for the report
1007
  - Make pgbadger more compliant with B::Lint bare sub name.
1008
  - Made perlcritic happy.
1009
  - Add --prettify-json command line option to prettify JSON output.
1010
    Default output is all in single line.
1011
  - Fix Events distribution report.
1012
  - Fix bug with --prefix when log_line_prefix contain multiple %%.
1013
    Thanks to svb007 for the report.
1014
  - Add --log-timezone  +/-XX  command line option to set the number
1015
    of hours from GMT of the timezone that must be used to adjust
1016
    date/time read from log file before beeing parsed. Using this
1017
    option make more difficult log search with a date/time because the
1018
    time will not be the same in the log. Note that you might still
1019
    need to adjust the graph timezone using -Z when the client has not
1020
    the same timezone. Thanks to xdexter for the feature request.
1021
  - Remove INDEXES from the keyword list and add BUFFERS to this list.
1022
  - Fix normalization of query using cursors.
1023
  - Remove Dockerfile and documentation about docker run. pgBadger
1024
    comes as a single Perl script without any dependence and it can
1025
    be used on any plateform. It is a non sens to use docker to run
1026
    pgbadger, if you don't want to install anything, just copy the
1027
    file pgbadger where you want and execute it.
1028
  - Fix broken grid when no temp files activity. Thanks to Pierre
1029
    Giraud for the patch
1030
  - Add doc warning about log_in_duration_statement vs log_duration +
1031
    log_statement. Thanks to Julien Tachoire for the patch.
1032
  - Apply timezone offset to bar charts. Thanks to Julien Tachoire
1033
    for the patch.
1034
  - Delete current temp file info if we meet an error for the same PID
1035
    Thanks to Julien Tachoire for the patch.
1036
  - Consistently use app= in examples, and support appname=
1037
    Some of the usage examples used appname= in the prefix, but the
1038
    code didn't recognize that token. Use app= in all examples, and
1039
    add appname= to the prefix parser. Thanks to Christoph Berg for
1040
    the patch
1041
  - Fix wrong long name for option -J that should be --Jobs intead
1042
    of --job_per_file. Thanks to Chad Trabant for the report and
1043
    Etienne Bersac for the patch.
1044
  - Ignore blib files. Thanks to Etienne Bersac for the patch.
1045
  - Add consistency tests. Thanks to damien clochard for the patch.
1046
  - doc update : stderr is not a default for -f. Thanks to Christophe
1047
    Courtois for the patch.
1048
  - Always update pod and README. Thanks to Etienne Bersac for
1049
    the patch.
1050
  - Add some regression tests. Thanks to Etienne Bersac for the patch.
1051
  - Add editorconfig configuration. Thanks to Etienne Bersac for the
1052
    patch.
1053
  - Drop vi temp files from gitignore. Thanks to Etienne Bersac for
1054
    the patch.
1055
  - Add --include-time option to add the ability to choose times that
1056
    you want to see, instead of excluding all the times you do not
1057
    want to see. This is handy when wanting to view only one or two
1058
    days from a week's worth of logs (simplifies down from multiple
1059
    --exlucde-time options to one --include-time). Thanks to Wesley
1060
    Bowman for the patch.
1061
  - Check pod syntax. Thanks to Etienne Bersac for the patch.
1062
  - Add HACKING to document tests. Thanks to Etienne Bersac for the
1063
    patch.
1064
  - Drop obsolete --bar-graph option. Thanks to Etienne Bersac for
1065
    the patch.
1066
  - Drop misleading .perltidyrc. This file date from 2012 and
1067
    pgbadger code is far from compliant. perltidy unified diff is
1068
    10k lines. Let's drop this. Thanks to Etienne Bersac for the
1069
    patch.
1070
  - Fix use of uninitialized value in SQL formatting. Thanks to John
1071
    Krugger for the report and Jean-paul Argudo for the report.
1072

1073
2017-07-27 - v9.2
1074

1075
This release of pgBadger is a maintenance release that adds some new
1076
features.
1077

1078
  * Add report of checkpoint distance and estimate.
1079
  * Add support of AWS Redshift keywords to SQL code beautifier.
1080
  * Add autodetection of log format in remote mode to allow remote
1081
    parsing of pgbouncer log file together with PostgreSQL log file.
1082

1083
There's also some bugs fixes and features enhancements.
1084

1085
  - Fix reports with histogram that was not showing data upper than
1086
    the last range.
1087
  - Fix parsing of journalctl without the the log line number pattern
1088
    ([%l-n]). Thanks to Christian Schmitt for the report.
1089
  - Add report of checkpoint distance and estimate. Thanks to jjsantam
1090
    for the feature request.
1091
  - Append more information on what is done by script to update CSS
1092
    and javascript files, tools/updt_embedded_rsc.pl.
1093
  - Do not warn when all log files are empty and exit with code 0.
1094
  - Fix build_log_line_prefix_regex() that does not include %n as a
1095
    lookup in %regex_map. Thanks to ghosthound for the patch.
1096
  - Change error level of "FATAL: cannot use CSV" to WARNING. Thanks
1097
    to kong1man for the report.
1098
  - Fix use of uninitialized value warning. Thanks to Payal for the
1099
    report.
1100
  - Add permission denied to error normalization
1101
  - Update pgbadger to latest commit 5bdc018 of pgFormatter.
1102
  - Add support for AWS Redshift keywords. Thanks to cavanaug for the
1103
    feature request.
1104
  - Fix missing query in temporary file report when the query was
1105
    canceled. Thanks to Fabrizio de Royes Mello for the report.
1106
  - Normalize query with binded parameters, replaced with a ?.
1107
  - Sanity check to avoid end time before start time. Thanks to
1108
    Christophe Courtois for the patch.
1109
  - Fix a lot of mystyped words and do some grammatical fixes. Use
1110
    'pgBadger' where it refers to the program and not the binary file.
1111
    Also, use "official" expressions such as PgBouncer, GitHub, and
1112
    CSS. POD file was synced with README. Thanks to Euler Taveira for
1113
    the patch.
1114
  - Menu is broken when --disable-type top_cancelled_info test and
1115
    closing list must be inside disable_type test. While in it, ident
1116
    disable_lock test. Thanks to Euler Taveira for the patch.
1117
  - Fix use of uninitialized value. Thanks to johnkrugger for the
1118
    report.
1119
  - Remove test to read log file during log format auto-detection when
1120
    the file is hosted remotly. Thanks to clomdd for the report.
1121
  - Add autodetection of log format in remote mode to allow remote
1122
    parsing of pgbouncer log file together with PostgreSQL log file.
1123
  - Fix number of sessions wrongly increased after log line validation
1124
    Thanks to Achilleas Mantzios for the report.
1125
  - Minor reformatting of the pgBadger Description.
1126
  - Fix repeated info in documentation. Thanks to cscatolini for the patch.
1127

1128
2017-01-24 - v9.1
1129

1130
This release of pgBadger is a maintenance release that adds some new
1131
features.
1132

1133
  * Add report of error class distribution when SQLState is available
1134
    in the log_line_prefix (see %e placeholder).
1135
  * Update SQL Beautifier to pgFormatter v1.6 code.
1136
  * Improve error message normalization.
1137
  * Add --normalized-only option to generate a text file containing all
1138
    normalized queries found in a log with count.
1139
  * Allow %c (session id) to replace %p (pid) as unique session id.
1140
  * Add waiting for lock messages to event reports.
1141
  * Add --start-monday option to start calendar weeks in Monday
1142
    instead of default to Sunday.
1143

1144
There's also some bugs fixes and features enhancements.
1145

1146
  - Add report of error class distribution when SQLState is available
1147
    in the log line prefix. Thanks to jacks33 for the feature request.
1148
  - Fix incremental global index on resize. Thanks to clomdd for the
1149
    report.
1150
  - Fix command tag log_line_prefix placeholder %i to allow space
1151
    character.
1152
  - Fix --exclude-line options and removing of obsolete directory
1153
    when retention is enabled and --noreport is used.
1154
  - Fix typo in "vacuum activity table". Thanks to Nicolas Gollet for
1155
    the patch.
1156
  - Fix autovacuum report. Thanks to Nicolas Gollet for the patch.
1157
  - Fix author of pgbadger's logo - Damien Cazeils and English in
1158
    comments. Thanks to Thibaut Madelaine for the patch.
1159
  - Add information about pgbouncer log format in the -f option.
1160
    Thanks to clomdd for the report.
1161
  - Add --normalized-only information in documentation.
1162
  - Fix broken report of date-time introduced in previous patch.
1163
  - Fix duration/query association when log_duration=on and
1164
    log_statement=all. Thanks to Eric Jensen for the report.
1165
  - Fix normalization of messages about advisory lock. Thanks to
1166
    Thibaut Madelaine for the report.
1167
  - Fix report of auto_explain output. Thanks to fch77700 for the
1168
    report.
1169
  - Fix unwanted log format auto detection with log entry from stdin.
1170
    Thanks to Jesus Adolfo Parra for the report.
1171
  - Add left open parentheses to the "stop" chars of regex to look
1172
    for db client in the prefix to handle the PostgreSQL client
1173
    string format that includes source port. Thanks to Jon Nelson
1174
    for the patch.
1175
  - Fix some spelling errors. Thanks to Jon Nelson for the patch.
1176
  - Allow %c (session id) to replace %p (pid) as unique session id.
1177
    Thanks to Jerryliuk for the report.
1178
  - Allow pgbadger to parse default log_line_prefix that will be
1179
    probably used in 10.0: '%m [%p] '
1180
  - Fix missing first line with interpreter call.
1181
  - Fix missing Avg values in CSV report. Thanks to Yosuke Tomita
1182
    for the report.
1183
  - Fix error message in autodetect_format() method.
1184
  - Add --start-monday option to start calendar weeks in Monday
1185
    instead of default to Sunday. Thanks to Joosep Mae for the feature
1186
    request.
1187
  - Fix --histo-average option. Thanks to Yves Martin for the report.
1188
  - Remove plural form of --ssh-option in documentation. Thanks to
1189
    mark-a-s for the report.
1190
  - Fix --exclude-time filter and rewrite code to skip unwanted line
1191
    as well code to update the progress bar. Thanks to Michael
1192
    Chesterton for the report.
1193
  - Fix support to %r placeholder in prefix instead of %h.
1194

1195

1196
2016-09-02 - v9.0
1197

1198
This major release of pgBadger is a port to bootstrap 3 and a version
1199
upgrade of all resources files (CSS and Javascript). There's also some
1200
bugs fixes and features enhancements.
1201

1202
Backward compatibility with old incremental report might be preserved.
1203

1204
  - Sources and licences of resources files are now on a dedicated
1205
    subdirectory. A script to update their minified version embedded
1206
    in pgbager script has been added. Thanks to Christoph Berg for
1207
    the help and feature request.
1208

1209
  - Try to detect user/database/host from connection strings if
1210
    log_connection is enabled and log_line_prefix doesn't include
1211
    them.
1212
    
1213
    Extend the regex to autodetect database name, user name, client
1214
    ip address and application name. The regex now are the following:
1215
    
1216
    	db => qr/(?:db|database)=([^,]*)/;
1217
    	user => qr/(?:user|usr)=([^,]*)/;
1218
    	client => qr/(?:client|remote|ip|host)=([^,]*)/;
1219
    	appname => qr/(?:app|application)=([^,]*)/;
1220
    
1221
  - Add backward compatibility with older version of pgbadger in
1222
    incremental mode by creating a subdirectory for new CSS and
1223
    Javascript files. This subdirectory is named with the major
1224
    version number of pgbadger.
1225
    
1226
  - Increase the size of the pgbadger logo that appears too small
1227
    with the new font size.
1228

1229
  - Normalize detailed information in all reports.
1230

1231
  - Fix duplicate copy icon in locks report.
1232

1233
  - Fix missing chart on histogram of session time. Thanks to
1234
    Guillaume Lelarge for the report.
1235

1236
  - Add LICENSE file noting the licenses used by the resource
1237
    files. Thanks to Christoph Berg for the patch.
1238

1239
  - Add patch to jqplot library to fix an infinite loop when trying
1240
    to download some charts. Thanks to Julien Tachoires for the help
1241
    to solve this issue.
1242
    
1243
  - Script tools/updt_embedded_rsc.pl will apply the patch to resource
1244
    file resources/jquery.jqplot.js and doesn't complain if it has
1245
    already been applied.
1246

1247
  - Remove single last comma at end of pie chart dataset. Thanks to
1248
    Julien Tachoires for the report.
1249

1250
  - Change display of normalized error
1251

1252
  - Remove unused or auto-generated files
1253

1254
  - Update all resources files (js+css) and create a directory to
1255
    include source of javascript libraries used in pgbadger. There is
1256
    also a new script tools/updt_embedded_rsc.pl the can be used to
1257
    generate the minified version of those files and embedded them
1258
    into pgbadger.  This script will also embedded the FontAwesome.otf
1259
    open truetype font into the fontawesome.css file.
1260
    
1261

1262
2016-08-27 - v8.3
1263

1264
This is a maintenance release that fix some minor bugs. This release
1265
also adds replication command messages statistics to the Events
1266
reports.
1267

1268
   - Fix auto-detection of stderr format with timestamp as epoch (%n).
1269
   - Fix histogram over multiples days to be cumulative per hour, not
1270
     an average of the number of event per day.
1271
   - Fix parsing of remote file that was failing when the file does
1272
     not exists locally. Thanks to clomdd for the report.
1273
   - Detect timezones like GMT+3 on CSV logs. Thanks to jacksonfoz
1274
     for the patch.
1275
   - Add replication command messages statistics to the Events
1276
     reports. Thanks to Michael Paquier for the feature request.
1277

1278
This is the last minor version of the 8.x series, next major version
1279
will include an upgrade of boostrap and jquery library which need
1280
some major rewrite.
1281

1282
2016-08-11 version 8.2 
1283

1284
This is a maintenance release that fix some minor bug. There is also
1285
some performances improvement up to 20% on huge files and some new
1286
interesting features:
1287

1288
   * Multiprocessing can be used with pgbouncer log files.
1289
   * pgBouncer and PostgreSQL log files can be used together in
1290
     incremental mode.
1291
   * With default or same prefix, stderr and syslog file can be
1292
     parsed together, csvlog format can always be used.
1293
   * Use a modal dialog window to download graphs as png images.
1294
   * Add pl/pgSQL function information to queries when available.
1295

1296
Here are the complete list of changes:
1297

1298
    - Fix report of database system messages.
1299
    - Fix multi line statement concatenation after an error.
1300
    - Fix box size for report of queries generating the most
1301
      temporary files and the most waiting queries.
1302
    - Rewrite code to better handle multi-line queries.
1303
    - Fix garbage in examples of event queries with error only mode
1304
      (option -w). Thanks to Thomas Reiss for the report.
1305
    - Fix getting dataset related to query duration with the use of
1306
      auto_explain. Thanks to tom__b for the patch.
1307
    - Use a modal dialog window to download graphs as png images.
1308
    - Huge rewrite of the incremental mechanism applied to log files
1309
      to handle PostgreSQL and pgbouncer logs at the same time.
1310
    - Multiprocess can be used with pgbouncer log.
1311
    - Add code to remove remaining keyword placeholders tags.
1312
    - Fix an other possible case of truncated date in LAST_PARSED file
1313
      Thanks to brafaeloliveira for the report.
1314
    - Set default scale 1 in pretty_print_number() js function.
1315
    - Fix auto-detection of pgbouncer files that contain only stats
1316
      lines. Thanks to Glyn Astill for the patch.
1317
    - Add date to samples of queries generating most temporary files.
1318
    - Do not display warning message of empty log when quiet mode is
1319
      enable.
1320
    - Fix reading from stdin by disabling pgbouncer format detection.
1321
      Thanks to Robert Vargason for the patch.
1322
    - Fix case of duplicate normalized error message with "nonstandard
1323
      use of ...".
1324
    - Fix storage of current temporary file related request.
1325
    - Use the mnemonic rather than a signal number in kill calls.
1326
      Thanks to Komeda Shinji for the patch.
1327

1328
2016-04-21 version 8.1 
1329

1330
This is a maintenance release that fix a major issue introduced with
1331
support to pgbouncer that prevent parsing of compressed PostgreSQL
1332
log files and adds some improvements. 
1333

1334
Here are the complete list of changes:
1335

1336
  - Fix one case where pid file remain after dying.
1337
  - Add requirement of log_error_verbosity = default to documentation.
1338
  - Report message "LOG:  using stale statistics instead of current
1339
    ones because stats collector is not responding" in events view.
1340
  - Remove obsolete days when we are in binary mode with --noreport
1341
  - Fix wrong report of statements responsible of temporary files.
1342
    Thanks to Luan Nicolini Marcondes for the report. This patch also
1343
    exclude line with log level LOCATION to be parsed.
1344
  - Fix limit on number of sample at report generation and remove
1345
    pending LAST_PARSED.tmp file.
1346
  - Update load_stat() function and global variables to support
1347
    pgbouncer statistics. Update version to 2.0.
1348
  - Handle more kind or query types. Thanks to julien Rouhaud for
1349
    the patch.
1350
  - Fix pgbouncer log parser to handle message: FATAL: the database
1351
    system is shutting down
1352
  - Fix whitespace placed in between the E and the quote character.
1353
    Thanks to clijunky for the report.
1354
  - Fix a major issue introduced with support to pgbouncer that
1355
    prevent parsing of compressed PostgreSQL log files. Thanks to
1356
    Levente Birta for the report.
1357

1358
2016-02-22 version 8.0 
1359

1360
This is a major release that adds support to pgbouncer log files.
1361
New pgbouncer reports are:
1362

1363
  * Request Throughput
1364
  * Bytes I/O Throughput
1365
  * Average Query Duration
1366
  * Simultaneous sessions
1367
  * Histogram of sessions times
1368
  * Sessions per database
1369
  * Sessions per user
1370
  * Sessions per host
1371
  * Established connections
1372
  * Connections per database
1373
  * Connections per user
1374
  * Connections per host
1375
  * Most used reserved pools
1376
  * Most Frequent Errors/Events
1377

1378
pgbouncer log files can be parsed together with PostgreSQL logs.
1379

1380
It also adds a two new command line options:
1381

1382
  * --pgbouncer-only to only show pgbouncer related reports.
1383
  * --rebuild to be able to rebuild all html reports in incremental
1384
    output directory where binary data files are still available.
1385

1386
This release fixes a major bug introduced with journalctl code that
1387
was prevented the use of multiprocess feature.
1388

1389
Here the complete list of other changes:
1390

1391
  - Fix progress bar with pgbouncer (only events are increased).
1392
  - Sort %SYMBOLE hashtable for remove "!=" / "=" bug. Thanks to
1393
    Nicolas Gollet for the patch.
1394
  - Fix incorrect numbers on positional parameters in report Queries
1395
    generating most temporary files. Thanks to Oskar Wiksten for the
1396
    report.
1397
  - Update operators list in SQL code beautifier with last update in
1398
    pgFormatter. Thanks to Laurenz Albe for the report and the list
1399
    of missing operators.
1400
  - Cosmetic change to code and add some more debug information.
1401

1402

1403
2016-01-18 version 7.3 
1404

1405
This is a maintenance release to fix a major bug that was breaking
1406
the incremental mode in pgBadger. It also adds some more reports and
1407
features.
1408

1409
  * Add --timezone=+/-HH to control the timezone used in charts. The
1410
    javascript library runs at client side so the timezone used is
1411
    the browser timezone so the displayed time in the charts can be
1412
    different from the time in the log file.
1413
  * Add /tmp/pgbadger.pid file to prevent cron jobs overlaping on
1414
    same log files.
1415
  * Add command line option --pid-dir to be able to run two pgbadger
1416
    at the same time by setting an alternate path to the pid file.
1417
  * Report information about "LOG:  skipping analyze of ..." into
1418
    events reports.
1419
  * Report message "LOG: sending cancel to blocking autovacuum" into
1420
   events reports. Useful to look for queries generating autovacuum
1421
    kill on account of a lock issue.
1422

1423
Here the complete list of changes:
1424

1425
  - Automatically remove obsolete pid file when there is no other
1426
    pgbadger process running (unix only)
1427
  - Update documentation about the --timezone command line option.
1428
  - Add --timezone=+/-HH to control the timezone used in charts.
1429
    Thanks to CZAirwolf for the report.
1430
  - Fix Histogram of session times when there is no data.
1431
  - Fix unclosed test file.
1432
  - Fix an other case where pgbadger.pid was not removed.
1433
  - Always display slides part on connections report even if there
1434
    is no data.
1435
  - Fix some label on sessions reports
1436
  - Add remove of pid file at normal ending.
1437
  - Fix wrong size/offset of log files that was breaking incremental
1438
    mode. Thanks a lot to CZAirwolf for the report and the help to
1439
    find the problem.
1440
  - Add command line option --pid-dir to be able to run two pgbadger
1441
    at the same time by setting an alternate path to the directory
1442
    where the pid file will be written.
1443
  - Add /tmp/pgbadger.pid file to prevent cron jobs overlaping on same
1444
    log files.
1445
  - Report information about "LOG:  skipping analyze of ..." into
1446
    events reports.
1447
  - Report message "LOG: sending cancel to blocking autovacuum" into
1448
    events reports. Usefull to know which queries generate autovacuum
1449
    kill on account of a lock issue.
1450
  - Add more debug information about check log parsing decision.
1451

1452
2016-01-05 version 7.2 
1453

1454
This new release fixes some issues especially in temporary files
1455
reports and adds some features.
1456

1457
  * Allow pgBadger to parse natively the journalctl command output
1458
  * Add new keywords from PG 9.5 for code formating
1459
  * Add support to %n log_line_prefix option for Unix epoch (PG 9.6)
1460

1461
There's also some new command line option:
1462

1463
  * Adds --journalctl_cmd option to enable this functionality and
1464
    set the command. Typically:
1465

1466
	--journalctl_cmd "journalctl -u postgresql-9.4"
1467

1468
    to parse output of PG 9.4 log
1469

1470
Here is the full list of changes/fixes:
1471

1472
  - Fix missing detailed information (date, db, etc.) in Queries
1473
    generating the largest temporary files report.
1474
  - Fix label of sessions histogram. Thanks to Guillaume Lelarge
1475
    for the patch.
1476
  - Fix to handle cancelled query that generate more than one
1477
    temporary file and more generally aggregate size on queries with
1478
    multiple (> 1GB) temporary files.
1479
  - Add "Total size" column in Temporary Files Activity table and
1480
    fix size increment when a query have multiple 1GB temporary file.
1481
  - Fix temporary file query normalization and examples.
1482
  - Fix incomplete and wrong queries associated to temporary files
1483
    when STATEMENT level log line was missing. Thanks to Mael
1484
    Rimbault for the report.
1485
  - When -w or --watch-mode is used, message "canceling statement
1486
    due to statement timeout" s now reported with other errors.
1487
  - Allow dot in dbname and user name. Thanks to David Turvey for
1488
    the patch.
1489
  - Remove use of unmaintained flotr2 javascript chart library and
1490
    use of jqflot instead.
1491
  - Fix bad formatting with anonymized values in queries.
1492
  - Display 0ms instead of 0s when qery time is under the millisecond.
1493
    Thanks to venkatabn for the report.
1494
  - Normalize cursor names. Patch from Julien Rouhaud
1495
  - Fix unregistered client host name with default pattern. Thanks to
1496
    Eric S. Lucinger Ruiz for the report.
1497
  - Remove redundant regular expressions.
1498
  - Tweaking awkward phrasing, correcting subject-verb agreements,
1499
    typos, and misspellings. Patch from Josh Kupershmid.
1500
  - Fix potential incorrect creation of subdirectory in incremental mode.
1501
  - Allow single white space after duration even if this should not appear.
1502
  - Update copyright.
1503

1504

1505
2015-07-11 version 7.1 
1506

1507
This new release fixes some issues and adds a new report:
1508

1509
  * Distribution of sessions per application
1510

1511
It also adds Json operators to SQL Beautifier.
1512

1513
Here is the full list of changes/fixes:
1514

1515
	- Fix unwanted seek on old parsing position when log entry is stdin.
1516
	  Thanks to Olivier Schiavo for the report.
1517
	- Try to fix a potential issue in log start/end date parsing. Thanks
1518
	  to gityerhubhere for the report.
1519
	- Fix broken queries with multiline in bind parameters. Thank to
1520
	  Nicolas Thauvin for the report.
1521
	- Add new report Sessions per application. Thanks to Keith Fiske for
1522
	  the feature request.
1523
	- Add Json Operators to SQL Beautifier. Thanks to Tom Burnett and
1524
	  Hubert depesz Lubaczewski.
1525
	- Makefile.PL: changed manpage section from '1' to '1p', fixes #237.
1526
	  Thanks to Cyril Bouthors for the patch.
1527
	- Update Copyright date-range and installation instructions that was
1528
	  still refering to version 5. Thanks to Steve Crawford for the report.
1529
	- Fix typo in changelog
1530

1531
Note that new official releases must now be downloaded from GitHub and no more
1532
from SourceForge. Download at https://github.com/dalibo/pgbadger/releases
1533

1534
2015-05-08 version 7.0 
1535

1536
This major release adds some more useful reports and features.
1537

1538
  * New report about events distribution per 5 minutes.
1539
  * New per application details (total duration and times executed) for each
1540
    query reported in Top Queries reports. The details are visible from a new
1541
    button called "App(s) involved".
1542
  * Add support to auto_explain extension. EXPLAIN plan will be added together
1543
    with top slowest queries when available in log file.
1544
  * Add a link to automatically open the explain plan on http://explain.depesz.com/
1545
  * New report on queries cumulated durations per user.
1546
  * New report about the Number of cancelled queries (graph)
1547
  * New report about Queries generating the most cancellation (N)
1548
  * New report about Queries most cancelled.
1549

1550
Here is the full list of changes/fixes:
1551

1552
  - Update documentation with last reports.
1553
  - Fix number of event samples displayed in event reports.
1554
  - Add new report about events distribution per x minutes.
1555
  - Add app=%a default prefix to documentation.
1556
  - Add reports of "App(s) involved" with top queries. Thanks to Antti Koivisto
1557
    for the feature request.
1558
  - Remove newline between a ) and , in the beautifier.
1559
  - Add link to automatically open the explain plan on http://explain.depesz.com/
1560
  - Add support to auto_explain, EXPLAIN plan will be added together with top
1561
    slowest queries when available in the log file.
1562
  - Add a graph on distributed duration per user. Thanks to Korriliam for the
1563
    patch.
1564
  - Add tree new report: Number of cancelled queries (graph), Queries generating
1565
    the most cancellation (N) and Queries most cancelled lists. Thanks to Thomas
1566
    Reiss for the feature request.
1567
  - Fix case where temporary file statement must be retrieved from the previous
1568
    LOG statement and not in the following STATEMENT log entry. Thanks to Mael
1569
    Rimbault for the report.
1570
  - Add --enable-checksum to show a md5 hash of each reported queries. Thanks
1571
    to Thomas Reiss for the feature request.
1572

1573
2015-04-13 version 6.4
1574

1575
This new release fixes a major bugs in SQL beautifier which removed operator
1576
and adds some useful improvement in anonymization of parameters values.
1577
pgBadger will also try to parse the full csvlog when a broken CSV line is
1578
encountered. 
1579

1580
	- Make anonymization more useful. Thanks to Hubert depesz Lubaczewski
1581
	  for the patch.
1582
	- Fix previous patch for csvlog generated with a PostgreSQL version
1583
	  before 9.0.
1584
	- Try continue CSV parsing after broken CSV line. Thanks to Sergey
1585
	  Burladyan for the patch.
1586
	- Fix bug in SQL beautifier which removed operator. Thanks to Thomas
1587
	  Reiss for the report.
1588
	- Fix loop exit, check terminate quickly and correct comments
1589
	  indentation. Thanks to Sergey Burladyan for the patch
1590

1591
Please upgrade.
1592

1593
2015-03-27 version 6.3
1594

1595
This new release fixes some bugs and adds some new reports:
1596

1597
  * A new per user details (total duration and times executed) for each query
1598
    reported in Top Queries reports. The details are visible from a new button
1599
    called "User(s) involved".
1600
  * Add "Average queries per session" and "Average queries duration per session"
1601
    in Sessions tab of the Global statistics.
1602
  * Add connection time histogram.
1603
  * Use bar graph for Histogram of query times and sessions times.
1604

1605
There's also some cool new features and options:
1606

1607
  * Add -L | --logfile-list option to read a list of logfiles from an external
1608
    file.
1609
  * Add support to log_timezones with + and - signs for timestamp with
1610
    milliseconds (%m).
1611
  * Add --noreport option to instruct pgbadger to not build any HTML reports
1612
    in incremental mode. pgBadger will only create binary files.
1613
  * Add auto detection of client=%h or remote=%h from the log so that adding
1614
    a prefix is not needed when it respect the default of pgbadger.
1615
  * Redefine sessions duration histogram bound to be more accurate.
1616
  * Add new option -M | --no-multiline to not collect multi-line statement
1617
    and avoid storing and reporting garbage when needed.
1618
  * Add --log-duration option to force pgbadger to associate log entries
1619
    generated by both log_duration=on and log_statement=all.
1620

1621
The pgbadger_tools script have also been improve with new features:
1622

1623
  * Add a new tool to pgbadger_tool to output top queries in CSV format for
1624
    follow-up analysis.
1625
  * Add --explain-time-consuming and --explain-normalized options to generate
1626
    explain statement about top time consuming and top normalized slowest
1627
    queries.
1628

1629
Here is the full list of changes/fixes:
1630

1631
	- Update flotr2.min.js to latest github code.
1632
	- Add per user detail information (total duration and times executed)
1633
	  for each query reported in "Time consuming queries", "Most frequent
1634
	  queries" "and Normalized slowest queries". The details are visible
1635
	  from a new button called "User(s) involved" near the "Examples"
1636
	  button. Thanks to Guillaume Le Bihan for the patch and tsn77130 for
1637
	  the feature request.
1638
	- pgbadger_tool: add tool to output top queries to CSV format, for
1639
	  follow-up analysis. Thanks to briklen for the patch.
1640
	- Add geometric operators to SQL beautifier. Thanks to Rodolphe
1641
	  Quiedeville for the report.
1642
	- Fix non closing session when a process crash with message:
1643
	  "terminating connection because of crash of another server process".
1644
	  Thanks to Mael Rimbault for the report.
1645
	- Add -L|--logfile-list command line option to read a list of logfiles
1646
	  from a file. Thanks to Hubert depesz Lubaczewski for the feature
1647
	  request.
1648
	- Automatically remove %q from prefix. Thanks to mbecroft for report.
1649
	- Do not store DEALLOCATE log entries anymore.
1650
	- Fix queries histogram where range was not appears in the right order.
1651
	  Thanks to Grzegorz Garlewicz for the report.
1652
	- Fix min yaxis in histogram graph. Thanks to grzeg1 for the patch.
1653
	- Add --log-duration command line option to force pgbadger to associate
1654
	  log entries generated by both log_duration = on and log_statement=all.
1655
	  Thanks to grzeg1 for the feature request.
1656
	- Small typographical corrections. Thanks to Jefferson Queiroz Venerando
1657
	  and Bill Mitchell the patches.
1658
	- Reformat usage output and add explanation of the --noreport command
1659
	  line option.
1660
	- Fix documentation about minimal pattern in custom log format. Thanks
1661
	  to Julien Rouhaud for the suggestion.
1662
	- Add support to log_timezones with + and - signs to timestamp with
1663
	  milliseconds (%m). Thanks to jacksonfoz for the patch.
1664
	  pgbadger was not recognize log files with timezones like 'GMT+3'.
1665
	- Add --noreport command line option to instruct pgbadger to not build
1666
	  any reports in incremental mode. pgBadger will only create binary
1667
	  files. Thanks to hubert Depesz Lubaczewski for the feature request.
1668
	- Add time consuming information in tables of Queries per database...
1669
	  Thanks to Thomas for the feature request.
1670
	- Add more details about the CSV parser error. It now prints the line
1671
	  number and the last parameter that generate the failure. This should
1672
	  allow to see the malformed log entry.
1673
	- Change substitution markup in attempt to fix a new look-behind
1674
	  assertions error. Thanks to Paolo Cavallini for the report.
1675
	- Use bar graph for Histogram of query times and sessions times.
1676
	- Fix wrong count of min/max queries per second. Thanks to Guillaume
1677
	  Lelarge for the report. Add COPY statement to SELECT or INSERT
1678
	  statements statistics following the copy direction (stdin or stdout).
1679
	- Fix Illegal division by zero at line 3832. Thanks to MarcoTrek for
1680
	  the report.
1681
	- Add "Average queries per session" and "Average queries duration per
1682
	  session" in Sessions tab of the Global stat. Thanks to Guillaume
1683
	  Lelarge for the feature request.
1684
	- Reformat numbers in pie graph tracker. Thanks to jirihlinka for the
1685
	  report.
1686
	- pgbadger_tools: Add --explain-time-consuming and --explain-normalized
1687
	  to generate explain statement about top time consuming and top
1688
	  normalized slowest queries. Thanks to Josh Kupershmid fot the feature
1689
	  request.
1690
	- Remove everything than error information from json output when -w | 
1691
	  --watch-mode is enable. Thanks to jason.
1692
	- Fix undefined subroutine encode_json when using -x json. Thanks to
1693
	  jason for the report.
1694
	- Add auto detection of client=%h or remote=%h from the log so that
1695
	  adding a prefix is not needed when it respect the default of pgbadger.
1696
	- Redefine sessions duration histogram bound to be more accurate. Thanks
1697
	  to Guillaume Lelarge for the report.
1698
	- Add connection time histogram. Thanks to Guillaume Lelarge for the
1699
	  feature request.
1700
	- Add new option -M | --no-multiline to not collect multi-line statement
1701
	  to avoid garbage especially on errors that generate a huge report.
1702
	- Do not return SUCCESS error code 0 when aborted or something fails.
1703
	  Thanks to Bruno Almeida for the patch.
1704

1705
2014-10-07 version 6.2
1706

1707
This is a maintenance release to fix a regression in SQL traffic graphs and
1708
fix some other minor issues.
1709

1710
The release also add a new option -D or --dns-resolv to map client ip addresses
1711
to FQDN without having log_hostname enabled on the postgresql's configuration
1712

1713
	- Do not display queries in Slowest individual, Time consuming and
1714
	  Normalized slowest queries reports when there is no duration in
1715
	  log file. Display NO DATASET instead.
1716
	- Fix min/max queries in SQL traffic that was based on duration instead
1717
	  of query count.
1718
	- Fix wrong unit to Synced files in Checkpoints files report. Thanks
1719
	  to Levente Birta for the report.
1720
	- Enable allow_loose_quotes in Text::CSV_XS call to fix CSV parsing
1721
	  error when fields have quote inside an unquoted field. Thanks to
1722
	  Josh Berkus for the report.
1723
	- Add -D | --dns-resolv command line option to replace ip addresses
1724
	  by their DNS name. Be warned that this can slow down pgBagder a lot.
1725
	  Thanks to Jiri Hlinka for the feature request.
1726

1727
2014-09-25 version 6.1
1728

1729
This release fix some issues and adds some new features. It adds a new option
1730
-B or --bar-graph to use bar instead of line in graphs. It will also keep tick
1731
formatting when zooming.
1732

1733
The release also add a new program: pgbadger_tools to demonstrate how to
1734
works with pgBadger binary files to build your own new feature. The first
1735
tools 'explain-slowest' allow printing of top slowest queries as EXPLAIN
1736
statements. There's also additional options to execute automatically the
1737
statements with EXPLAIN ANALYZE and get the execution plan. See help of the
1738
program for more information or the README file in the tools directory.
1739

1740
Some modifications will change certain behavior:
1741

1742
	- The -T | --title text value will now be displayed instead of the
1743
	  pgBadger label right after the logo. It was previously displayed
1744
	  on mouse over the pgBadger label.
1745

1746
Here is the full list of changes/fixes:
1747

1748
	- Change -T | --title position on pgBadger report. Title now override
1749
	  the pgBadger label. Thanks to Julien Rouhauld for the patch.
1750
	- Add --file-per-query and --format-query option to write each slowest
1751
	  query in separate file named qryXXX.sql and perform minimal formating
1752
	  of the queries. Thanks to Rodolphe Quiedeville for the patch.
1753
	- Remove debug query from explain-slowest tool.
1754
	- Fix surge in sessions number report when an exclusion or inclusion
1755
	  option (dbname, user, appname, etc.) is used. Thanks to suyah for the
1756
	  report.
1757
	- Fix fatal error when remote log file is 0 size. Thanks to Julien
1758
	  Rouhaud for the report.
1759
	- Allow pgbadger_tools --explain-slowest to automatically execute the
1760
	  EXPLAIN statements an report the plan. See pgbadger_tools --help for
1761
	  more explanation.
1762
	- Add --analyze option to replace EXPLAIN statements by EXPLAIN
1763
	  (ANALYZE, VERBOSE, BUFFERS).
1764
	- Move pgbadger_tools program and README.tools into the tools/
1765
	  subdirectory with removing the extension. Add more comments and
1766
	  explanations.
1767
	- Fix case where die with interrupt signal is received when using -e
1768
	  option. Thanks to Lloyd Albin for the report.
1769
	- Add a new program pgbadger_tools to demonstrate how to deal with
1770
	  pgBadger binary files to build your own new feature. The first one
1771
	  'explain-slowest' allow printing of top slowest queries as EXPLAIN
1772
	  statements.
1773
	- Keep tick formatting when zooming. Thanks to Julien Rouhaud for the
1774
	  patch.
1775
	- Fix automatic detection of rsyslogd logs. Thanks to David Day for
1776
	  the report.
1777
	- Fix issue in calculating min/max/avg in "General Activity" report. It
1778
	  was build on the sum of queries duration per minutes instead of each
1779
	  duration. Thanks to Jayadevan M for the report.
1780
	- The same issue remains with percentile that are build using the sum of
1781
	  duration per minutes and doesn't represent the real queries duration.
1782
	- This commit also include a modification in convert_time() method to
1783
	  reports milliseconds.
1784
	- Add -B or --bar-graph command line option to use bar instead of line
1785
	  in graph. Thanks to Bart Dopheide for the suggestion.
1786
	- Fix Checkpoint Wal files usage graph title.
1787

1788
2014-08-08 version 6.0
1789

1790
This new major release adds some new features like automatic cleanup of binary
1791
files in incremental mode or maximum number of weeks for reports retention.
1792
It improve the incremental mode with allowing the use of multiprocessing with
1793
multiple log file.
1794

1795
It also adds report of query latency percentile on the general activity table
1796
(percentiles are 90, 95, 99).
1797

1798
There's also a new output format: JSON. This format is good for sharing data
1799
with other languages, which makes it easy to integrate pgBadger's result into
1800
other monitoring tools.
1801

1802
You may want to expose your reports but not the data, using the --anonymize
1803
option pgBadger will be able to anonymize all literal values in the queries.
1804

1805
Sometime select to copy a query from the report could be a pain. There's now
1806
a click-to-select button in front of each query that allow you to just use
1807
Ctrl+C to copy it on clipboard
1808

1809
The use of the new -X option also allow pgBadger to write out extra files to
1810
the outdir when creating incremental reports. Those files are the CSS and
1811
Javascript code normally repeated in each HTLM files.
1812

1813
Warning: the behavior of pgBadger in incremental mode has changed. It will now
1814
always cleanup the output directory of all the obsolete binary file. If you were
1815
using those files to build your own reports, you can prevent pgBadger to remove
1816
them by using the --noclean option. Note that if you use the retention feature,
1817
all those files in obsolete directories will be removed too.
1818

1819
Here is the complete list of changes.
1820

1821

1822
	- Javascript improvement to use only one call of sql_select and
1823
	  sql_format. Use jQuery selector instead of getElementById to
1824
	  avoid js errors when not found. Thanks to Julien Rouhaud for the
1825
	  patches.
1826
	- Add -R | --retention command line option to set the maximum number of
1827
	  week reports to preserve in the output directory for incremental mode.
1828
	  Thanks to Kong Man for the feature request.
1829
	- Session count is immediately decreased when a FATAL error is received
1830
	  in the current session to prevent overcount of simultaneous session
1831
	  number. Thanks to Josh Berkus for the report.
1832
	- Fix issue in incremental mode when parsing is stopped after rotating
1833
	  log and rotated log has new lines. The new file was not parsed at all.
1834
	  Thanks to CZAirwolf for the report.
1835
	- Fix revert to single thread when last_line_parsed exists. Thanks to
1836
	  Bruno Almeida for the report.
1837
	- Fix issue in handling SIGTERM/SIGINT that cause pgbadger to continue.
1838
	- Add autoclean feature to pgbadger in incremental mode. pgbadger will
1839
	  now removed automatically obsolete binary files unless you specify
1840
	  --noclean at command line.
1841
	- Add new command line option --anonymize to obscure all literals in
1842
	  queries/errors to hide confidential data. Thanks to wmorancfi for the
1843
	  feature request.
1844
	- Fix single "SELECT;" as a query in a report. Thanks to Marc Cousin for
1845
	  the report.
1846
	- Add a copy icon in front of each query in the report to select the
1847
	  entire query. Thanks to Josh Berkus for the feature request.
1848
	- Fix wrong move to beginning of a file if the file was modified after
1849
	  have been parsed a time. Thanks to Herve Werner for the report.
1850
	- Allow pgBadger to write out extra files to outdir when creating
1851
	  incremental reports. Require the use of the -X or --extra-files option
1852
	  in incremental mode. Thanks to Matthew Musgrove for the feature request.
1853
	- Fix incomplete handling of XZ compressed format.
1854
	- Fix move to offset in incremental mode with multiprocess and incomplete
1855
	  condition when file is smaller than the last offset. Thanks to Herve
1856
	  Werner for the report.
1857
	- Allow/improve incremental mode with multiple log file and multiprocess.
1858
	- Fix incorrect location of temporary file storing last parsed line in
1859
	  multiprocess+incremental mode. Thanks to Herve Werner for the report.
1860
	- Fix remote ssh command error sh: 2: Syntax error: "|" unexpected.
1861
	  Thanks to Herve Werner for the report.
1862
	- Fix missing database name in samples of top queries reports. Thanks to
1863
	  Thomas Reiss for the report.
1864
	- Add minimal documentation about JSON output format.
1865
	- Add execute attribute to pgbadger in the source repository, some may
1866
	  find this more helpful when pgbadger is not installed and executed
1867
	  directly from this repository.
1868
	- Fix issue with csv log format and incremental mode. Thanks to Suya for
1869
	  the report and the help to solve the issue. There also a fix to support
1870
	  autovacuum statistic with csv format.
1871
	- Fix bad URL to documentation. Thanks to Rodolphe Quiedeville for the report.
1872
	- Two minor change to made easier to use Tsung scenario: Remove the first
1873
	  empty line and replace probability by weight. Now it is possible to use
1874
	  the scenario as is with Tsung 1.5.
1875
	- Fix incremental mode where weeks on index page start on sunday and week
1876
	  reports start on monday. Thanks to flopma and birkosan for the report.
1877
	- Replace label "More CPU costly" by "Highest CPU-cost". Thanks to Marc
1878
	  Cousin for the suggestion.
1879
	- Add query latency percentile to General Activity table (percentiles are
1880
	  90, 95, 99). Thanks to Himanchali for the patch.
1881
	- Fix typon pgbadger call. Thanks to Guilhem Rambal for the report.
1882
	- Add JSON support for output format.  JSON format is good for sharing data
1883
	  with other languages, which makes it easy to integrate pgBadger's result
1884
	  into other monitoring tools like Cacti or Graphite. Thanks to Shanzhang
1885
	  Lan for the patch.
1886
	- Update documentation about remote mode feature.
1887
	- Update documentation to inform that the xz utility should be at least in
1888
	  version 5.05 to support the --robot command line option. Thanks to Xavier
1889
	  Millies-Lacroix for the report.
1890
	- Fix remote logfile parsing. Thanks to Herve Werner for the report.
1891

1892
2014-05-05 version 5.1-1
1893

1894
	- Fix parsing of remote log file, forgot to apply some patches.
1895
	  Thank to Herve Werner for the report.
1896

1897
2014-05-04 version 5.1
1898

1899
This new release fixes several issues and adds several new features like:
1900

1901
  * Support to named PREPARE and EXECUTE queries. They are replaced by
1902
    the real prepare statement and reported into top queries.
1903
  * Add new --exclude-line command line option for excluding immediately
1904
    log entries matching any regex.
1905
  * Included remote and client information into the most frequent events.
1906
  * pgBadger is now able to parse remote logfiles using a password less
1907
    ssh connection and generate locally the reports.
1908
  * Histogram granularity can be adjusted using the -A command line option.
1909
  * Add new detail information on top queries to show when the query is a
1910
    bind query.
1911
  * Support to logfile compressed using the xz compression format.
1912
  * Change week/day menu in incremental index, it is now represented as
1913
    usual with a calendar view per month.
1914
  * Fix various compatibility issue with Windows and Perl 5.8
1915

1916
Here is the full list of changes:
1917

1918
	- fixed calendar display and correct typo. Thanks to brunomgalmeida
1919
	  for the patch.
1920
	- revert to single thread if file is small. Thanks to brunomgalmeida
1921
	  for the patch.
1922
	- print calendars 4+4+4 instead of 3+4+4+1 when looking at full year.
1923
	  Thanks to brunomgalmeida for the patch.
1924
	- Add --exclude-line option for excluding log entries with a regex based
1925
	  on the full log line. Thanks to ferfebles for the feature request.
1926
	- Fix SQL keywords that was beautified twice.
1927
	- Remove duplicate pg_keyword in SQL beautifier.
1928
	- Fix increment of session when --disable-session is activated.
1929
	- Fix missing unit in Checkpoints Activity report when time value is
1930
	  empty. Thanks to Herve Werner for the report.
1931
	- Fix double information in histogram data when period is the hour.
1932
	- Add support to named PREPARE and EXECUTE queries. Calls to EXECUTE
1933
	  statements are now replaced by the prepared query and show samples
1934
	  with parameters. Thanks to Brian DeRocher for the feature request.
1935
	- Included Remote and Client information into the most frequent events
1936
	  examples. Thanks to brunomgalmeida for the patch.
1937
	- Fix documentation about various awkward phrasings, grammar, and
1938
	  spelling. Consistently capitalize "pgBadger" as such, except for
1939
	  command examples which should stay all-lowercase. Thanks to Josh
1940
	  Kupershmidt for the patch.
1941
	- Fix incremental mode on Windows by replacing %F and %u POSIX::strftime
1942
	  format to %Y-%m-%d and %w. Thanks to dthiery for the report.
1943
	- Remove Examples button when there is no examples available.
1944
	- Fix label on tips in histogram of errors reports.
1945
	- Fix error details in incremental mode in Most Frequent Errors/Events
1946
	  report. Thanks to Herve Werner for the report.
1947
	- Fix Sync time value in Checkpoints buffers report. Thanks to Herve
1948
	  Werner for the report.
1949
	- Fix wrong connections per host count. Thanks to Herve Werner for the
1950
	  report.
1951
	- Allow pgBadger to parse remote log file using a password less ssh
1952
	  connection. Thanks to Orange OLPS department for the feature request.
1953
	- Histogram granularity can be adjusted using the -A command line
1954
	  option. By default they will report the mean of each top queries or
1955
	  errors occurring per hour. You can now specify the granularity down to
1956
	  the minute. Thanks to Orange OLPS department for the feature request.
1957
	- Add new detail information on top queries to show when the query is
1958
	  a bind query. Thanks to Orange OLPS department for the feature request.
1959
	- Fix queries that exceed the size of the container.
1960
	- Add unit (seconds) to checkpoint write/sync time in the checkpoints
1961
	  activity report. Thanks to Orange OLPS department for the report.
1962
	- Fix missing -J option in usage.
1963
	- Fix incomplete lines in split logfile to rewind to the beginning of
1964
	  the line. Thanks to brunomgalmeida for the patch.
1965
	- Fix tsung output and add tsung xml header sample to output file.
1966
	- Make it possible to do --sample 0 (prior it was falling back to the
1967
	  default of 3). Thanks to William Moran for the patch.
1968
	- Fix xz command to be script readable and always have size in bytes:
1969
	  xz --robot -l %f | grep totals | awk "{print $5}"
1970
	- Add support to logfile compressed by the xz compression format.
1971
	  Thanks to Adrien Nayrat for the patch.
1972
	- Do not increment queries duration histogram when prepare|parse|bind
1973
	  log are found, but only with execute log. Thanks to Josh Berkus for
1974
	  the report.
1975
	- Fix normalization of error message about unique violation when
1976
	  creating intermediate dirs. Thanks to Tim Sampson for the report.
1977
	- Allow use of Perl metacharacters like [..] in application name.
1978
	  Thanks to Magnus Persson for the report.
1979
	- Fix dataset tip to be displayed above image control button. Thanks
1980
	  to Ronan Dunklau for the fix.
1981
	- Renamed the Reset bouton to "To Chart" to avoid confusion with unzoom
1982
	  feature.
1983
	- Fix writing of empty incremental last parsed file.
1984
	- Fix several other graphs
1985
	- Fix additional message at end of query or error when it was logged
1986
	  from application output. Thanks to Herve Werner for the report.
1987
	- Fix checkpoint and vacuum graphs when all dataset does not have all
1988
	  values. Thanks to Herve Werner for the report.
1989
	- Fix week numbered -1 in calendar view.
1990
	- Change week/day menu in incremental index, it is now represented as
1991
	  usual with a calendar view per month. Thanks to Thom Brown for the
1992
	  feature request.
1993
	- Load FileHandle to fix error: Can not locate object method "seek"
1994
	  via package "IO::Handle" with perl 5.8. Thanks to hkrizek for the
1995
	  report.
1996
	- Fix count of queries in progress bar when there is compressed file
1997
	  and multiprocess is enabled. Thanks to Johnny Tan for the report.
1998
	- Fix debug message "Start parsing at offset"
1999
	- Add ordering in queries times histogram. Thanks to Ulf Renman for
2000
	  the report.
2001
	- Fix various typos. Thanks to Thom Brown for the patch.
2002
	- Fix Makefile error, "WriteMakefile: Need even number of args at
2003
	  Makefile.PL" with Perl 5.8. Thanks to Fangr Zhang for the report.
2004
	- Fix some typo in Changelog
2005

2006
2014-02-05 version 5.0
2007

2008
This new major release adds some new features like incremental mode and SQL
2009
queries times histogram. There is also a hourly graphic representation of the
2010
count and average duration of top normalized queries. Same for errors or events,
2011
you will be able to see graphically at which hours they are occurring the most
2012
often.
2013

2014
The incremental mode is an old request issued at PgCon Ottawa 2012 that concern
2015
the ability to construct incremental reports with successive runs of pgBadger.
2016
It is now possible to run pgbadger each days or even more, each hours, and have
2017
cumulative reports per day and per week. A top index page allow you to go
2018
directly to the weekly and daily reports.
2019

2020
This mode have been build with simplicity in mind so running pgbadger by cron
2021
as follow:
2022

2023
	0 23 * * * pgbadger -q -I -O /var/www/pgbadger/ /var/log/postgresql.log
2024

2025
is enough to have daily and weekly reports viewable using your browser.
2026

2027
You can take a look at a sample report at http://dalibo.github.io/pgbadger/demov5/index.html
2028

2029
There's also a useful improvement to allow pgBadger to seek directly to the
2030
last position in the same log file after a successive execution. This feature
2031
is only available using the incremental mode or the -l option and parsing a
2032
single log file. Let's say you have a weekly rotated log file and want to run
2033
pgBadger each days. With 2GB of log per day, pgbadger was spending 5 minutes
2034
per block of 2 GB to reach the last position in the log, so at the end of the
2035
week this feature will save you 35 minutes. Now pgBadger will start parsing
2036
new log entries immediately. This feature is compatible with the multiprocess
2037
mode using -j option (n processes for one log file).
2038

2039
Histogram of query times is a new report in top queries slide that shows the
2040
query times distribution during the analyzed period. For example:
2041

2042
	Range 		Count 		Percentage
2043
	--------------------------------------------
2044
	0-1ms		10,367,313	53.52%
2045
	1-5ms		799,883		4.13%
2046
	5-10ms		451,646		2.33%
2047
	10-25ms		2,965,883	15.31%
2048
	25-50ms		4,510,258	23.28%
2049
	50-100ms	180,975		0.93%
2050
	100-500ms	87,613		0.45%
2051
	500-1000ms	5,856		0.03%
2052
	1000-10000ms	2,697		0.01%
2053
	> 10000ms	74		0.00%
2054

2055

2056
There is also some graphic and report improvements, like the mouse tracker
2057
formatting that have been reviewed. It now shows a vertical crosshair and
2058
all dataset values at a time when mouse pointer moves over series. Automatic
2059
queries formatting has also been changed, it is now done on double click
2060
event as simple click was painful when you want to copy some part of the
2061
queries.
2062

2063
The report "Simultaneous Connections" has been relabeled into "Established
2064
Connections", it is less confusing as many people think that this is the number
2065
of simultaneous sessions, which is not the case. It only count the number of
2066
connections established at same time.
2067

2068
Autovacuum reports now associate database name to the autovacuum and autoanalyze
2069
entries. Statistics now refer to "dbname.schema.table", previous versions was only
2070
showing the pair "schema.table".
2071

2072
This release also adds Session peak information and a report about Simultaneous
2073
sessions. Parameters log_connections and log_disconnections must be enabled in
2074
postgresql.conf.
2075

2076
Complete ChangeLog:
2077

2078
	- Fix size of SQL queries columns to prevent exceeding screen width.
2079
	- Add new histogram reports on top normalized queries and top errors
2080
	  or event. It shows at what hours and in which quantity the queries
2081
	  or errors appears.
2082
	- Add seeking to last parser position in log file in incremental mode.
2083
	  This prevent parsing all the file to find the last line parse from
2084
	  previous run.  This only works when parsing a single flat file, -j
2085
	  option is permitted. Thanks to ioguix for the kick.
2086
	- Rewrite reloading of last log time from binary files.
2087
	- Fix missing statistics of last parsed queries in incremental mode.
2088
	- Fix bug in incremental mode that prevent reindexing a previous day.
2089
	  Thanks to Martin Prochazka for the great help.
2090
	- Fix missing label "Avg duration" on column header in details of Most
2091
	  frequent queries (N).
2092
	- Add vertical crosshair on graph.
2093
	- Fix case where queries and events was not updated when using -b and
2094
	  -e command line. Thanks to Nicolas Thauvin for the report.
2095
	- Fix week sorting on incremental report main index page. Thanks to
2096
	  Martin Prochazka for the report.
2097
	- Add "Histogram of query times" report to show statistics like
2098
	  0-100ms : 80%, 100-500ms :14%, 500-1000ms : 3%, > 1000ms : 1%.
2099
	  Thanks to tmihail for the feature request.
2100
	- Format mouse tracker on graphs to show all dataset value at a time.
2101
	- Add control of -o vs -O option with incremental mode to prevent
2102
	  wrong use.
2103
	- Change log level of missing LAST_PARSED.tmp file to WARNING and
2104
	  add a HINT.
2105
	- Update copyright date to 2014
2106
	- Fix empty reports of connections. Thanks to Reeshna Ramakrishnan
2107
	  for the report.
2108
	- Fix display of connections peak when no connection was reported.
2109
	- Fix warning on META_MERGE for ExtUtils::MakeMaker < 6.46. Thanks
2110
	  to Julien Rouhaud for the patch.
2111
	- Add documentation about automatic incremental mode.
2112
	- Add incremental mode to pgBadger. This mode will build a report
2113
	  per day and a cumulative report per week. It also create an index
2114
	  interface to easiest access to the different report. Must be run,
2115
	  for example, as:
2116
		pgbadger /var/log/postgresql.log.1 -I -O /var/www/pgbadger/
2117
	  after a daily PostgreSQL log file rotation.
2118
	- Add -O | --outdir path to specify the directory where out file
2119
	  must be saved.
2120
	- Automatic queries formatting is now done on double click event,
2121
	  simple click was painful when you want to copy some part of the
2122
	  queries. Thanks to Guillaume Smet for the feature request.
2123
	- Remove calls of binmode to force html file output to be utf8 as
2124
	  there is some bad side effect. Thanks to akorotkov for the report.
2125
	- Remove use of Time::HiRes Perl module as some distributions does
2126
	  not include this module by default in core Perl install.
2127
	- Fix "Wide character in print" Perl message by setting binmode
2128
	  to :utf8. Thanks to Casey Allen Shobe for the report.
2129
	- Fix application name search regex to handle application name with
2130
	  space like "pgAdmin III - Query Tool".
2131
	- Fix wrong timestamps saved with top queries. Thanks to Herve Werner
2132
	  for the report.
2133
	- Fix missing logs types statitics when using binary mode. Thanks to
2134
	  Herve Werner for the report.
2135
	- Fix Queries by application table column header: Database replaced
2136
	  by Application. Thanks to Herve Werner for the report.
2137
	- Add "Max number of times the same event was reported" report in
2138
	  Global stats Events tab.
2139
	- Replace "Number of errors" by "Number of ERROR entries" and add
2140
	  "Number of FATAL entries".
2141
	- Replace "Number of errors" by "Number of events" and "Total errors
2142
	  found" by "Total events found" in Events reports. Thanks to Herve
2143
	  Werner for the report.
2144
	- Fix title error in Sessions per database.
2145
	- Fix clicking on the info link to not go back to the top of the page.
2146
	  Thanks to Guillaume Smet for the report and solution.
2147
	- Fix incremental report from binary output where binary data was not
2148
	  loaded if no queries were present in log file. Thanks to Herve Werner
2149
	  for the report.
2150
	- Fix parsing issue when log_error_verbosity = verbose. Thanks to vorko
2151
	  for the report.
2152
	- Add Session peak information and a report about Simultaneous sessions.
2153
	  log_connections+log_disconnections must be enabled in postgresql.conf.
2154
	- Fix wrong requests number in Queries by user and by host. Thanks to
2155
	  Jehan-Guillaume de Rorthais for the report.
2156
	- Fix issue with rsyslog format failing to parse logs. Thanks to Tim
2157
	  Sampson for the report.
2158
	- Associate autovacuum and autoanalyze log entry to the corresponding
2159
	  database name. Thanks to Herve Werner for the feature request.
2160
	- Change "Simultaneous Connections" label into "Established Connections",
2161
	  it is less confusing as many people think that this is the number of
2162
	  simultaneous sessions, which is not the case. It only count the number
2163
	  of connections established at same time. Thanks to Ronan Dunklau for
2164
	  the report.
2165

2166
2013-11-08 version 4.1
2167

2168
This release fixes two major bugs and some others minor issues. There's also a
2169
new command line option --exclude-appname that allow exclusion from the report
2170
of queries generated by a specific program, like pg_dump. Documentation have
2171
been updated with a new chapter about building incremental reports.
2172

2173
	- Add log_autovacuum_min_duration into documentation in chapter about
2174
	  postgresql configuration directives. Thanks to Herve Werner for the
2175
	  report.
2176
	- Add chapter about "Incremental reports" into documentation.
2177
	- Fix reports with per minutes average where last time fraction was
2178
	  not reported. Thanks to Ludovic Levesque and Vincent Laborie for the
2179
	  report.
2180
	- Fix unterminated comment in information popup. Thanks to Ronan
2181
	  Dunklau for the patch.
2182
	- Add --exclude-appname command line option to eliminate unwanted
2183
	  traffic generated by a specific application. Thanks to Steve Crawford
2184
	  for the feature request.
2185
	- Allow external links use into URL to go to a specific report. Thanks
2186
	  to Hubert depesz Lubaczewski for the feature request.
2187
	- Fix empty reports when parsing compressed files with the -j option
2188
	  which is not allowed with compressed file. Thanks to Vincent Laborie
2189
	  for the report.
2190
	- Prevent progress bar length to increase after 100% when real size is
2191
	  greater than estimated size (issue found with huge compressed file).
2192
	- Correct some spelling and grammar in ChangeLog and pgbadger. Thanks
2193
	  to Thom Brown for the patch.
2194
	- Fix major bug on SQL traffic reports with wrong min value and bad
2195
	  average value on select reports, add min/max for select queries.
2196
	  Thanks to Vincent Laborie for the report.
2197

2198
2013-10-31 - Version 4.0
2199

2200
This major release is the "Say goodbye to the fouine" release. With a full
2201
rewrite of the reports design, pgBadger has now turned the HTML reports into
2202
a more intuitive user experience and professional look.
2203

2204
The report is now driven by a dynamic menu with the help of the embedded
2205
Bootstrap library. Every main menu corresponds to a hidden slide that is
2206
revealed when the menu or one of its submenus is activated. There's
2207
also the embedded font Font Awesome webfont to beautify the report.
2208

2209
Every statistics report now includes a key value section that immediately
2210
shows you some of the relevant information. Pie charts have also been
2211
separated from their data tables using two tabs, one for the chart and the
2212
other one for the data.
2213

2214
Tables reporting hourly statistics have been moved to a multiple tabs report
2215
following the data. This is used with General (queries, connections, sessions),
2216
Checkpoints (buffer, files, warnings), Temporary files and Vacuums activities.
2217

2218
There's some new useful information shown in the key value sections. Peak
2219
information shows the number and datetime of the highest activity. Here is the
2220
list of those reports:
2221

2222
	- Queries peak
2223
	- Read queries peak
2224
	- Write queries peak
2225
	- Connections peak
2226
	- Checkpoints peak
2227
	- WAL files usage Peak
2228
	- Checkpoints warnings peak
2229
	- Temporary file size peak
2230
	- Temporary file number peak
2231

2232
Reports about Checkpoints and Restartpoints have been merged into a single report.
2233
These are almost one in the same event, except that restartpoints occur on a slave
2234
cluster, so there was no need to distinguish between the two.
2235

2236
Recent PostgreSQL versions add additional information about checkpoints, the
2237
number of synced files, the longest sync and the average of sync time per file.
2238
pgBadger collects and shows this information in the Checkpoint Activity report.
2239

2240
There's also some new reports:
2241

2242
	- Prepared queries ratio (execute vs prepare)
2243
	- Prepared over normal queries
2244
	- Queries (select, insert, update, delete) per user/host/application
2245
	- Pie charts for tables with the most tuples and pages removed during vacuum.
2246

2247
The vacuum report will now highlight the costly tables during a vacuum or
2248
analyze of a database.
2249

2250
The errors are now highlighted by a different color following the level.
2251
A LOG level will be green, HINT will be yellow, WARNING orange, ERROR red
2252
and FATAL dark red.
2253

2254
Some changes in the binary format are not backward compatible and the option
2255
--client has been removed as it has been superseded by --dbclient for a long time now.
2256

2257
If you are running a pg_dump or some batch process with very slow queries, your
2258
report analysis will be hindered by those queries having unwanted prominence in the
2259
report. Before this release it was a pain to exclude those queries from the
2260
report. Now you can use the --exclude-time command line option to exclude all
2261
traces matching the given time regexp from the report. For example, let's say
2262
you have a pg_dump at 13:00 each day during half an hour, you can use pgbadger
2263
as follows:
2264

2265
	pgbadger --exclude-time "2013-09-.* 13:.*" postgresql.log 
2266

2267
If you are also running a pg_dump at night, let's say 22:00, you can write it
2268
as follows:
2269

2270
	pgbadger --exclude-time '2013-09-\d+ 13:[0-3]' --exclude-time '2013-09-\d+ 22:[0-3]' postgresql.log 
2271

2272
or more shortly:
2273

2274
	pgbadger --exclude-time '2013-09-\d+ (13|22):[0-3]' postgresql.log 
2275

2276
Exclude time always requires the iso notation yyyy-mm-dd hh:mm:ss, even if log
2277
format is syslog. This is the same for all time-related options. Use this option
2278
with care as it has a high cost on the parser performance.
2279

2280

2281
2013-09-17 - version 3.6
2282

2283
Still an other version in 3.x branch to fix two major bugs in vacuum and checkpoint
2284
graphs. Some other minors bugs has also been fixed.
2285

2286
	- Fix grammar in --quiet usage. Thanks to stephen-a-ingram for the report.
2287
	- Fix reporting period to starts after the last --last-parsed value instead
2288
	  of the first log line. Thanks to Keith Fiske for the report.
2289
	- Add --csv-separator command line usage to documentation.
2290
	- Fix CSV log parser and add --csv-separator command line option to allow
2291
	  change of the default csv field separator, coma, in any other character.
2292
	- Avoid "negative look behind not implemented" errors on perl 5.16/5.18.
2293
	  Thanks to Marco Baringer for the patch.
2294
	- Support timestamps for begin/end with fractional seconds (so it'll handle
2295
	  postgresql's normal string representation of timestamps).
2296
	- When using negative look behind set sub-regexp to -i (not case insensitive)
2297
	  to avoid issues where some upper case letter sequence, like SS or ST.
2298
	- Change shebang from /usr/bin/perl to /usr/bin/env perl so that user-local
2299
	  (perlbrew) perls will get used.
2300
	- Fix empty graph of autovacuum and autoanalyze.
2301
	- Fix checkpoint graphs that was not displayed any more.
2302

2303

2304
2013-07-11 - Version 3.5
2305

2306
Last release of the 3.x branch, this is a bug fix release that also adds some
2307
pretty print of Y axis number on graphs and a new graph that groups queries
2308
duration series that was shown as second Y axis on graphs, as well as a new
2309
graph with number of temporary file that was also used as second Y axis.
2310

2311
	- Split temporary files report into two graphs (files size and number
2312
	  of file) to no more used a second Y axis with flotr2 - mouse tracker
2313
	  is not working as expected.
2314
	- Duration series representing the second Y axis in queries graph have
2315
	  been removed and are now drawn in a new "Average queries duration"
2316
	  independant graph.
2317
	- Add pretty print of numbers in Y axis and mouse tracker output with
2318
	  PB, TB, GB, KB, B units, and seconds, microseconds. Number without
2319
	  unit are shown with P, T, M, K suffix for easiest very long number
2320
	  reading.
2321
	- Remove Query type reports when log only contains duration.
2322
	- Fix display of checkpoint hourly report with no entry.
2323
	- Fix count in Query type report.
2324
	- Fix minimal statistics output when nothing was load from log file.
2325
	  Thanks to Herve Werner for the report.
2326
	- Fix several bug in log line parser. Thanks to Den Untevskiy for the
2327
	  report.
2328
	- Fix bug in last parsed storage when log files was not provided in the
2329
	  right order. Thanks to Herve Werner for the report.
2330
	- Fix orphan lines wrongly associated to previous queries instead of
2331
	  temporary file and lock logged statement. Thanks to Den Untevskiy for
2332
	  the report.
2333
	- Fix number of different samples shown in events report.
2334
	- Escape HTML tags on error messages examples. Thanks to Mael Rimbault
2335
	  for the report.
2336
	- Remove some temporary debug informations used with some LOG messages
2337
	  reported as events.
2338
	- Fix several issues with restartpoint and temporary files reports.
2339
	  Thanks to Guillaume Lelarge for the report.
2340
	- Fix issue when an absolute path was given to the incremental file.
2341
	  Thanks to Herve Werner for the report.
2342
	- Remove creation of incremental temp file $tmp_last_parsed when not
2343
	  running in multiprocess mode. Thanks to Herve Werner for the report.
2344

2345

2346
2013-06-18 - Version 3.4
2347

2348
This release adds lot of graphic improvements and a better rendering with logs
2349
over few hours. There's also some bug fixes especially on report of queries that
2350
generate the most temporary files.
2351

2352
	- Update flotr2.min.js to latest github code.
2353
	- Add mouse tracking over y2axis.
2354
	- Add label/legend information to ticks displayed on mouseover graphs.
2355
	- Fix documentation about log_statement and log_min_duration_statement.
2356
	  Thanks to Herve Werner for the report.
2357
	- Fix missing top queries for locks and temporary files in multiprocess
2358
	  mode.
2359
	- Cleanup code to remove storage of unused information about connection.
2360
	- Divide the huge dump_as_html() method with one method per each report.
2361
	- Checkpoints, restart points and temporary files are now drawn using a
2362
	  period of 5 minutes per default instead of one hour. Thanks to Josh
2363
	  Berkus for the feature request.
2364
	- Change fixed increment of one hour to five minutes on queries graphs
2365
	  "SELECT queries" and "Write queries". Remove graph "All queries" as,
2366
	  with a five minutes increment, it duplicates the "Queries per second".
2367
	  Thanks to Josh Berkus for the feature request.
2368
	- Fix typos. Thanks to Arsen Stasic for the patch.
2369
	- Add default HTML charset to utf-8 and a command line option --charset
2370
	  to be able to change the default. Thanks to thomas hankeuhh for the
2371
	  feature request.
2372
	- Fix missing temporary files query reports in some conditions. Thanks
2373
	  to Guillaume Lelarge and Thomas Reiss for the report.
2374
	- Fix some parsing issue with log generated by pg 7.4.
2375
	- Update documentation about missing new reports introduced in previous
2376
	  version 3.3.
2377

2378
Note that it should be the last release of the 3.x branch unless there's major
2379
bug fixes, but next one will be a major release with a completely new design.
2380

2381

2382
2013-05-01 - Version 3.3
2383

2384
This release adds four more useful reports about queries that generate locks and
2385
temporary files. An other new report about restart point on slaves and several
2386
bugs fix or cosmetic change. Support to parallel processing under Windows OS has
2387
been removed.
2388

2389
	- Remove parallel processing under Windows platform, the use of waitpid
2390
	  is freezing pgbadger. Thanks to Saurabh Agrawal for the report. I'm
2391
	  not comfortable with that OS this is why support have been removed,
2392
	  if someone know how to fix that, please submit a patch.
2393
	- Fix Error in tempfile() under Windows. Thanks to Saurabh Agrawal for
2394
	  the report.
2395
	- Fix wrong queries storage with lock and temporary file reports. Thanks
2396
	  to Thomas Reiss for the report.
2397
	- Add samples queries to "Most frequent waiting queries" and "Queries
2398
	  generating the most temporary files" report.
2399
	- Add two more reports about locks: 'Most frequent waiting queries (N)",
2400
	  and "Queries that waited the most". Thanks to Thomas Reiss for the
2401
	  patch.
2402
	- Add two reports about temporary files: "Queries generating the most
2403
	  temporary files (N)" and "Queries generating the largest temporary
2404
	  files". Thanks to Thomas Reiss for the patch.
2405
	- Cosmetic change to the Min/Max/Avg duration columns.
2406
	- Fix report of samples error with csvlog format. Thanks to tpoindessous
2407
	  for the report.
2408
	- Add --disable-autovacuum to the documentation. Thanks to tpoindessous
2409
	  for the report.
2410
	- Fix unmatched ) in regex when using %s in prefix.
2411
	- Fix bad average size of temporary file in Overall statistics report.
2412
	  Thanks to Jehan Guillaume de Rorthais for the report.
2413
	- Add restartpoint reporting. Thanks to Guillaume Lelarge for the patch.
2414
	- Made some minor change in CSS.
2415
	- Replace %% in log line prefix internally by a single % so that it
2416
	  could be exactly the same than in log_line_prefix. Thanks to Cal
2417
	  Heldenbrand for the report.
2418
	- Fix perl documentation header, thanks to Cyril Bouthors for the patch.
2419

2420
2013-04-07 - Version 3.2
2421

2422
This is mostly a bug fix release, it also adds escaping of HTML code inside
2423
queries and the adds Min/Max reports with Average duration in all queries
2424
reports.
2425

2426
	- In multiprocess mode, fix case where pgbadger does not update
2427
	  the last-parsed file and do not take care of the previous run.
2428
	  Thanks to Kong Man for the report.
2429
	- Fix case where pgbadger does not update the last-parsed file.
2430
	  Thanks to Kong Man for the report.
2431
	- Add CDATA to make validator happy. Thanks to Euler Taveira de
2432
	  Oliveira for the patch.
2433
	- Some code review by  Euler Taveira de Oliveira, thanks for the
2434
	  patch.
2435
	- Fix case where stat were multiplied by N when -J was set to N.
2436
	  Thanks to thegnorf for the report.
2437
	- Add a line in documentation about log_statement that disable
2438
	  log_min_duration_statement when it is set to all.
2439
	- Add quick note on how to contribute, thanks to Damien Clochard
2440
	  for the patch.
2441
	- Fix issue with logs read from stdin. Thanks to hubert depesz
2442
	  lubaczewski for the report.
2443
	- Force pgbadger to not try to beautify queries bigger than 10kb,
2444
	  this will take too much time. This value can be reduce in the
2445
	  future if hang with long queries still happen. Thanks to John
2446
	  Rouillard for the report.
2447
	- Fix an other issue in replacing bind param when the bind value
2448
	  is alone on a single line. Thanks to Kjeld Peters for the report.
2449
	- Fix parsing of compressed files together with uncompressed files
2450
	  using the the -j option. Uncompressed files are now processed using
2451
	  split method and compressed ones are parsed per one dedicated process.
2452
	- Replace zcat by gunzip -c to fix an issue on MacOsx. Thanks to
2453
	  Kjeld Peters for the report.
2454
	- Escape HTML code inside queries. Thanks to denstark for the report.
2455
	- Add Min/Max in addition to Average duration values in queries reports.
2456
	  Thanks to John Rouillard fot the feature request.
2457
	- Fix top slowest array size with binary format.
2458
	- Fix an other case with bind parameters with value in next line and
2459
	  the top N slowest queries that was repeated until N even if the real
2460
	  number of queries was lower. Thanks to Kjeld Peters for the reports.
2461
	- Fix non replacement of bind parameters where there is line breaks in
2462
	  the parameters, aka multiline bind parameters. Thanks to Kjeld Peters
2463
	  for the report.
2464
	- Fix error with seekable export tag with Perl v5.8. Thanks to Jeff Bohmer
2465
	  for the report.
2466
	- Fix parsing of non standard syslog lines begining with a timestamp like
2467
	  "2013-02-28T10:35:11-05:00". Thanks to Ryan P. Kelly for the report.
2468
	- Fix issue #65 where using -c | --dbclient with csvlog was broken. Thanks
2469
	  to Jaime Casanova for the report.
2470
	- Fix empty report in watchlog mode (-w option).
2471

2472
2013-02-21 - Version 3.1
2473

2474
This is a quick release to fix missing reports of most frequent errors and slowest
2475
normalized queries in previous version published yesterday.
2476

2477
	- Fix empty report in watchlog mode (-w option).
2478
	- Force immediat die on command line options error.
2479
	- Fix missing report of most frequent events/errors report. Thanks to
2480
	  Vincent Laborie for the report.
2481
	- Fix missing report of slowest normalized queries.  Thanks to Vincent
2482
	  Laborie for the report.
2483
	- Fix display of last print of progress bar when quiet mode is enabled.
2484

2485
2013-02-20 - Version 3.0
2486

2487
This new major release adds parallel log processing by using as many cores as
2488
wanted to parse log files, the performances gain is directly related to the
2489
number of cores specified. There's also new reports about autovacuum/autoanalyze
2490
informations and many bugs have been fixed.
2491

2492
	- Update documentation about log_duration, log_min_duration_statement
2493
	  and log_statement.
2494
	- Rewrite dirty code around log timestamp comparison to find timestamp
2495
	  of the specified begin or ending date.
2496
	- Remove distinction between logs with duration enabled from variables
2497
	  log_min_duration_statement and log_duration. Commands line options
2498
	  --enable-log_duration and --enable-log_min_duration have been removed.
2499
	- Update documentation about parallel processing.
2500
	- Remove usage of Storable::file_magic to autodetect binary format file,
2501
	  it is not include in core perl 5.8. Thanks to Marc Cousin for the
2502
	  report.
2503
	- Force multiprocess per file when files are compressed. Thanks to
2504
	  Julien Rouhaud for the report.
2505
	- Add progress bar logger for multiprocess by forking a dedicated
2506
	  process and using pipe. Also fix some bugs in using binary format
2507
	  that duplicate query/error samples per process.
2508
	- chmod 755 pgbadger
2509
	- Fix checkpoint reports when there is no checkpoint warnings.
2510
	- Fix non report of hourly connections/checkpoint/autovacuum when not
2511
	  query is found in log file. Thanks to Guillaume Lelarge for the
2512
	  report.
2513
	- Add better handling of signals in multiprocess mode.
2514
	- Add -J|--job_per_file command line option to force pgbadger to use
2515
	  one process per file instead of using all to parse one file. Useful
2516
	  to have better performances with lot of small log file.
2517
	- Fix parsing of orphan lines with stderr logs and log_line_prefix
2518
	  without session information into the prefix (%l).
2519
	- Update documentation about -j | --jobs option.
2520
	- Allow pgbadger to use several cores, aka multiprocessing. Add options
2521
	  -j | --jobs option to specify the number of core to use.
2522
	- Add autovacuum and autoanalyze infos to binary format.
2523
	- Fix case in SQL code highlighting where QQCODE temp keyword was not
2524
	  replaced. Thanks to Julien Ruhaud for the report.
2525
	- Fix CSS to draw autovacuum graph and change legend opacity.
2526
	- Add pie graph to show repartition of number of autovacuum per table
2527
	  and number of tuples removed by autovacuum per table.
2528
	- Add debug information about selected type of log duration format.
2529
	- Add report of tuples/pages removed in report of Vacuums by table.
2530
	- Fix major bug on syslog parser where years part of the date was
2531
	  wrongly extracted from current date with logs generated in 2012.
2532
	- Fix issue with Perl 5.16 that do not allow "ss" inside look-behind
2533
	  assertions. Thanks to Cedric for the report.
2534
	- New vacuum and analyze hourly reports and graphs. Thanks to Guillaume
2535
	  Lelarge for the patch.
2536

2537
UPGRADE: if you are running pgbadger by cron take care if you were using one of
2538
the following option: --enable-log_min_duration  and --enable-log_duration, they
2539
have been removed and pgbadger will refuse to start.
2540

2541
2013-01-17 - Version 2.3
2542

2543
This release fixes several major issues especially with csvlog and a memory leak
2544
with log parsing using a start date. There's also several improvement like new
2545
reports of number of queries by database and application. Mouse over reported
2546
queries will show database, user, remote client and application name where they
2547
are executed.
2548

2549
A new binary input/output format have been introduced to allow saving or reading
2550
precomputed statistics. This will allow incremental reports based on periodical
2551
runs of pgbader. This is a work in progress fully available with next coming
2552
major release.
2553

2554
Several SQL code beautifier improvement from pgFormatter have also been merged.
2555

2556
	- Clarify misleading statement about log_duration: log_duration may be
2557
	  turned on depending on desired information. Only log_statement must
2558
	  not be on. Thanks to Matt Romaine for the patch.
2559
	- Fix --dbname and --dbuser not working with csvlog format. Thanks to
2560
	  Luke Cyca for the report.
2561
	- Fix issue in SQL formatting that prevent left back indentation when
2562
	  major keywords were found. Thanks to Kevin Brannen for the report.
2563
	- Display 3 decimals in time report so that ms can be seen. Thanks to
2564
	  Adam Schroder for the request.
2565
	- Force the parser to not insert a new line after the SET keyword when
2566
	  the query begin with it. This is to preserve the single line with
2567
	  queries like SET client_encoding TO "utf8";
2568
	- Add better SQL formatting of update queries by adding a new line
2569
	  after the SET keyword. Thanks to pilat66 for the report.
2570
	- Update copyright and documentation.
2571
	- Queries without application name are now stored under others
2572
	  application name.
2573
	- Add report of number of queries by application if %a is specified in
2574
	  the log_line_prefix.
2575
	- Add link menu to the request per database and limit the display of
2576
	  this information when there is more than one database.
2577
	- Add report of requests per database.
2578
	- Add report of user,remote client and application name to all request
2579
	  info.
2580
	- Fix memory leak with option -b (--begin) and in incremental log
2581
	  parsing mode.
2582
	- Remove duration part from log format auto-detection. Thanks to
2583
	  Guillaume Lelarge for the report.
2584
	- Fix a performance issue on prettifying SQL queries that makes pgBagder
2585
	  several time slower that usual to generate the HTML output. Thanks to
2586
	  Vincent Laborie for the report.
2587
	- Add missing SQL::Beautify paternity.
2588
	- Add 'binary' format as input/output format. The binary output format
2589
	  allows to save log statistics in a non human readable file instead of
2590
	  an HTML or text file. These binary files might then be used as regular
2591
	  input files, combined or not, to produce a html or txt report. Thanks
2592
	  to Jehan Guillaume de Rorthais for the patch.
2593
	- Remove port from the session regex pattern to match all lines.
2594
	- Fix the progress bar. It was trying to use gunzip to get real file
2595
	  size for all formats (by default). Unbreak the bz2 format (that does
2596
	  not report real size) and add support for zip format. Thanks to Euler
2597
	  Taveira de Oliveira fort the patch.
2598
	- Fix some typos and grammatical issues. Thanks to Euler Taveira de
2599
	  Oliveira fort the patch.
2600
	- Improve SQL code highlighting and keywords detection merging change
2601
	  from pgFormatter project.
2602
	- Add support to hostname or ip address in the client detection. Thanks
2603
	  to stuntmunkee for the report.
2604
	- pgbadger will now only reports execute statement of the extended
2605
	  protocol (parse/bind/execute). Thanks to pierrestroh for the report.
2606
	- Fix numerous typos as well as formatting and grammatical issues.
2607
	  Thanks to Thom Brown for the patch.
2608
	- Add backward compatibility to obsolete --client command line option.
2609
	  If you were using the short option -c nothing is changed.
2610
	- Fix issue with --dbclient and %h in log_line_prefix. Thanks to Julien
2611
	  Rouhaud for the patch.
2612
	- Fix multiline progress bar output.
2613
	- Allow usage of a dash into database, user and application names when
2614
	  prefix is used. Thanks to Vipul for the report.
2615
	- Mouse over queries will now show in which database they are executed
2616
	  in the overviews (Slowest queries, Most frequent queries, etc. ).
2617
	  Thank to Dirk-Jan Bulsink for the feature request.
2618
	- Fix missing keys on %cur_info hash. Thanks to Marc Cousin for the
2619
	  report.
2620
	- Move opening file handle to log file into a dedicated function.
2621
	  Thanks to Marc Cousin for the patch.
2622
	- Replace Ctrl+M by printable \r. Thanks to Marc Cousin for the report.
2623

2624

2625
2012-11-13 - Version 2.2
2626

2627
This release add some major features like tsung output, speed improvement with
2628
csvlog, report of shut down events, new command line options to generate report
2629
excluding some user(s), to build report based on select queries only, to specify
2630
regex of the queries that must only be included in the report and to remove
2631
comments from queries. Lot of bug fixes, please upgrade.
2632

2633
	- Update PostgreSQL keywords list for 9.2
2634
	- Fix number of queries in progress bar with tsung output.
2635
	- Remove obsolete syslog-ng and temporary syslog-ll log format added to
2636
	  fix some syslog autodetection issues. There is now just one syslog
2637
	  format: syslog, differences between syslog formats are detected and
2638
	  the log parser is adaptive.
2639
	- Add comment about the check_incremental_position() method
2640
	- Fix reports with empty graphs when log files were not in chronological
2641
	  order.
2642
	- Add report of current total of queries and events parsed in progress
2643
	  bar. Thanks to Jehan-Guillaume de Rorthais for the patch.
2644
	- Force pgBadger to use an require the XS version of Text::CSV instead
2645
	  of the Pure Perl implementation. It is a good bit faster thanks to
2646
	  David Fetter for the patch. Note that using csvlog is still a bit
2647
	  slower than syslog or stderr log format.
2648
	- Fix several issue with tsung output.
2649
	- Add report of shut down events
2650
	- Add debug information on command line used to pipe compressed log
2651
	  file when -v is provide.
2652
	- Add -U | --exclude-user command line option to generate report
2653
	  excluded user. Thanks to Birta Levente for the feature request.
2654
	- Allow some options to be specified multiple time or be written as a
2655
	  coma separated list of value, here are these options: --dbname,
2656
	  --dbuser, --dbclient, --dbappname, --exclude_user.
2657
	- Add -S | --select-only option to build report only on select queries.
2658
	- Add first support to tsung output, see usage. Thanks to Guillaume
2659
	  Lelarge for the feature request.
2660
	- Add --include-query and --include-file to specify regex of the queries
2661
	  that must only be included in the report. Thanks to Marc Cousin for
2662
	  the feature request.
2663
	- Fix auto detection of log_duration and log_min_duration_statement
2664
	  format.
2665
	- Fix parser issue with Windows logs without timezone information.
2666
	  Thanks to Nicolas Thauvin for the report.
2667
	- Fix bug in %r = remote host and port log line prefix detection.
2668
	  Thanks to Hubert Depesz Lubaczewski for the report.
2669
	- Add -C | --nocomment option to remove comment like /* ... */ from
2670
	  queries. Thanks to Hubert Depesz Lubaczewski for the feature request.
2671
	- Fix escaping of log_line_prefix. Thanks to Hubert Depesz Lubaczewski
2672
	  for the patch.
2673
	- Fix wrong detection of update queries when a query has a object names
2674
	  containing update and set. Thanks to Vincent Laborie for the report.
2675

2676
2012-10-10 - Version 2.1
2677

2678
This release add a major feature by allowing any custom log_line_prefix to be
2679
used by pgBadger. With stderr output you at least need to log the timestamp (%t)
2680
the pid (%p) and the session/line number (%l). Support to log_duration instead
2681
of log_min_duration_statement to allow reports simply based on duration and
2682
count report without query detail and report. Lot of bug fixes, please upgrade
2683
asap.
2684

2685
	- Add new --enable-log_min_duration option to force pgbadger to use lines
2686
	  generated by the log_min_duration_statement even if the log_duration
2687
	  format is autodetected. Useful if you use both but do not log all queries.
2688
	  Thanks to Vincent Laborie for the feature request.
2689
	- Add syslog-ng format to better handle syslog traces with notation like:
2690
	  [ID * local2.info]. It is autodetected but can be forced in the -f option
2691
	  with value set to: syslog-ng.
2692
	- Add --enable-log_duration command line option to force pgbadger to only
2693
	  use the log_duration trace even if log_min_duration_statement traces are
2694
	  autodetected.
2695
	- Fix display of empty hourly graph when no data were found.
2696
	- Remove query type report when log_duration is enabled.
2697
	- Fix a major bug in query with bind parameter. Thanks to Marc Cousin for
2698
	  the report.
2699
	- Fix detection of compressed log files and allow automatic detection
2700
	  and uncompress of .gz, .bz2 and .zip files.
2701
	- Add gunzip -l command to find the real size of a gzip compressed file.
2702
	- Fix log_duration only reports to not take care about query detail but
2703
	  just count and duration.
2704
	- Fix issue with compressed csvlog. Thanks to Philip Freeman for the
2705
	  report.
2706
	- Allow usage of log_duration instead of log_min_duration_statement to
2707
	  just collect statistics about the number of queries and their time.
2708
	  Thanks to Vincent Laborie for the feature request.
2709
	- Fix issue on syslog format and autodetect with additional info like:
2710
	  [ID * local2.info]. Thanks to kapsalar for the report.
2711
	- Removed unrecognized log line generated by deadlock_timeout.
2712
	- Add missing information about unsupported csv log input from stdin.
2713
	  It must be read from a file. Thank to Philip Freeman for the report.
2714
	- Fix issue #28: Illegal division by zero with log file without query
2715
	  and txt output. Thanks to rlowe for the report.
2716
	- Update documentation about the -N | --appname option.
2717
	- Rename --name option into --appname. Thanks to Guillaume Lellarge for
2718
	  the patch.
2719
	- Fix min/max value in xasis that was always represented 2 days by
2720
	  default. Thanks to Casey Allen Shobe for the report.
2721
	- Fix major bug when running pgbadger with the -e option. Thanks to
2722
	  Casey Allen Shobe for the report and the great help
2723
	- Change project url to http://dalibo.github.com/pgbadger/. Thanks to
2724
	  Damien Clochard for this new hosting.
2725
	- Fix lot of issues in CSV parser and force locale to be C. Thanks to
2726
	  Casey Allen Shobe for the reports.
2727
	- Improve speed with custom log_line_prefix.
2728
	- Merge pull request #26 from elementalvoid/helpdoc-fix
2729
	- Fixed help text for --exclude-file. Old help text indicated that the
2730
	  option name was --exclude_file which was incorrect.
2731
	- Remove the obsolete --regex-user and --regex-db options that was used
2732
	  to specify a search pattern in the log_line_prefix to find the user
2733
	  and db name. This is replaced by the --prefix option.
2734
	- Replace Time column report header by Hour.
2735
	- Fix another issue in log_line_prefix parser with stderr format
2736
	- Add a more complex example using log_line_prefix
2737
	- Fix log_line_prefix issue when using timepstamp with millisecond.
2738
	- Add support to use any custom log_line_prefix with new option -p or
2739
	  --prefix. See README for an example.
2740
	- Fix false autodetection of CSV format when log_statement is enable or
2741
	  in possible other cases. This was resulting in error: "FATAL: cannot
2742
	  use CSV". Thanks to Thomas Reiss for the report.
2743
	- Fix display of empty graph of connections per seconds
2744
	- Allow character : in log line prefix, it will no more break the log
2745
	  parsing. Thanks to John Rouillard for the report.
2746
	- Add report of configuration parameter changes into the errors report
2747
	  and change errors report by events report to handle important messages
2748
	  that are not errors.
2749
	- Allow pgbadger to recognize " autovacuum launcher" messages.
2750

2751
2012-08-21 - version 2.0
2752

2753
This major version adds some changes not backward compatible with previous
2754
versions. Options -p and -g are not more used as progress bar and graphs
2755
generation are enabled by default now.
2756

2757
The obsolete -l option use to specify the log file to parse has been reused to
2758
specify an incremental file. Outside these changes and some bug fix there's
2759
also new features:
2760

2761
    * Using an incremental file with -l option allow to parse multiple time a
2762
      single log file and to "seek" at the last line parsed during the previous
2763
      run. Useful if you have a log rotation not sync with your pgbadger run.
2764
      For exemple you can run somthing like this:
2765

2766
	pgbadger `find /var/log/postgresql/ -name "postgresql*" -mtime -7 -type f` \
2767
	    -o report_`date +%F`.html -l /var/run/pgbadger/last_run.log
2768

2769
    * All queries diplayed in the HTML report are now clickable to display or
2770
      hide a nice SQL query format. This is called SQL format beautifier.
2771

2772
    * CSV log parser have been entirely rewritten to handle csv with multiline.
2773

2774
Every one should upgrade.
2775

2776
	- Change license from BSD like to PostgreSQL license. Request from
2777
	  Robert Treat.
2778
	- Fix wrong pointer on Connections per host menu. Reported by Jean-Paul
2779
	  Argudo.
2780
	- Small fix for sql formatting adding scrollbars. Patch by Julien
2781
	  Rouhaud.
2782
	- Add SQL format beautifier on SQL queries. When you will click on a
2783
	  query it will be beautified. Patch by Gilles Darold
2784
	- The progress bar is now enabled by default, the -p option has been
2785
	  removed.  Use -q | --quiet to disable it. Patch by Gilles Darold.
2786
	- Graphs are now generated by default for HTML output, option -g as
2787
	  been remove and option -G added to allow disabling graph generation.
2788
	  Request from Julien Rouhaud, patch by Gilles Darold.
2789
	- Remove option -g and -p to the documentation. Patch by Gilles Darold.
2790
	- Fix case sensitivity in command line options. Patch by Julien Rouhaud.
2791
	- Add -T|--title option to change report title. Patch by Yury Bushmelev.
2792
	- Add new option --exclude-file to exclude specific commands with regex
2793
	  stated in a file. This is a rewrite by Gilles Darold of the neoeahit
2794
	  (Vipul) patch.
2795
	- CSV log parser have been entirely rewritten to handle csv with multi
2796
	  line, it also adds approximative duration for csvlog. Reported by
2797
	  Ludhimila Kendrick, patch by Gilles Darold.
2798
	- Alphabetical reordering of options list in method usage() and
2799
	  documentation. Patch by Gilles Darold.
2800
	- Remove obsolete -l | --logfile command line option, the -l option
2801
	  will be reused to specify an incremental file. Patch by Gilles Darold.
2802
	- Add -l | --last-parsed options to allow incremental run of pgbadger.
2803
	  Patch by Gilles Darold.
2804
	- Replace call to timelocal_nocheck by timegm_nocheck, to convert date
2805
	  time into second from the epoch. This should fix timezone issue.
2806
	  Patch by Gilles Darold.
2807
	- Change regex on log parser to allow missing ending space in
2808
	  log_line_prefix. This seems a common mistake. Patch by Gilles Darold.
2809
	- print warning when an empty log file is found. Patch by Gilles Darold.
2810
	- Add perltidy rc file to format pgbadger Perl code. Patch from depesz.
2811

2812
2012-07-15 - version 1.2
2813

2814
This version adds some reports and fixes a major issue in log parser. Every one 
2815
should upgrade.
2816

2817
	- Rewrite this changelog to be human readable.
2818
	- Add -v | --verbose to enable debug mode. It is now disable by default
2819
	- Add hourly report of checkpoint warning when checkpoints are occuring
2820
	  too frequently, it will display the hourly count and the average
2821
	  occuring time.
2822
	- Add new report that sums the messages by log types. The report shows
2823
	  the number of messages of each log type, and a percentage. It also
2824
	  displays a pie graph. Patch by Guillaume Lelarge.
2825
	- Add missing pie graph on locks by type report.
2826
	- Format pie mouse track to display values only.
2827
	- Fix graph download button id on new connection graph.
2828
	- Add trackFormatter to flotr2 line graphs to show current x/y values.
2829
	- Fix issue on per minute minimum value.
2830
	- Add a note about Windows Os and zcat as well as a more general note
2831
	  about using compressed log file in other format than gzip.
2832
	- Complete rewrite of the log parser to handle unordered log lines.
2833
	  Data are now stored by pid before and added to the global statistics
2834
	  at end. Error report now include full details, statements, contexts
2835
	  and hints when available. Deadlock are also fully reported with the
2836
	  concerned queries.
2837
	- Fix miss handling of multi lines queries on syslog.
2838
	- Add -a|--average option to configure the per minutes average interval
2839
	  for queries and connexions. If you want the average to be calculated
2840
	  each minutes instead of the 5 per default, use --average 1 or for the
2841
	  default --average 5. If you want average per hour set it to 60.
2842
	- Add hourly statistics of connections and sessions as well as a chart
2843
	  about the number of connection per second (5 minutes average).
2844
	- Allow OTHERS type of queries lower than 2% to be include in the sum of
2845
	  types < 2%.
2846
	- Add autodetection of syslog ident name if different than the default
2847
	  "postgres" and that there is just one ident name in the log.
2848
	- Remove syslog replacement of tabulation by #011 still visible when
2849
	  there was multiple tabulation.
2850
	- Fix autodetection of log format syslog with single-digit day number
2851
	  in date.
2852
	- Add ChangeLog to MANIFEST and change URI in html footer.
2853
	- Check pgBadger compatibility with Windows Oses. Run perfectly.
2854

2855

2856
2012-07-04 - version 1.1
2857

2858
This release fixes lot of issues and adds several main features.
2859

2860
    New feature:
2861

2862
	- Add possibility to get log from stdin
2863
	- Change syslog parsing regex to allow log timestamp in log_line_prefix
2864
	  very often forgotten when log destination is changed from stderr to
2865
	  syslog.
2866
	- Add documentation for the -z | --zcat command line option.
2867
	- Allow `zcat` location to be specified via `--zcat` - David E. Wheeler
2868
	- Add --disable-session,--disable-connection and disable-checkpoint
2869
	  command line options to remove their respective reports from the
2870
	  output	
2871
	- Add --disable-query command line option to remove queries statistics
2872
	  from the output
2873
	- Add --disable-hourly command line option to remove hourly statistics
2874
	  from the output
2875
	- Add --disable-error command line option to remove error report from
2876
	  the output
2877
	- Add --exclude-query option to exclude types of queries by specifying
2878
	  a regex
2879
	- Set thousand separator and decimal separator to be locale dependant
2880
	- Add -w option to only report errors
2881
	- Add Makefile.PL and full POD documentation to the project
2882
	- Allow multiple log files from command line
2883
	- Add simple csvlog support - Alex Hunsaker
2884
	- Hourly report for temporary files and checkpoints have moved in a
2885
	  separate table.
2886
	- Add hourly connections and sessions statistics.
2887
	- Add a chart about the number of connections per seconds.
2888

2889
    Bug fix:
2890

2891
	- Add information about log format requirement (lc_message = 'C').
2892
	  Reported by Alain Benard.
2893
	- Fix for begin/end dates with single digit day using syslog. Patch by
2894
	  Joseph Marlin.
2895
	- Fix handle of syslog dates with single-digit day number. Patch by
2896
	  Denis Orlikhin.
2897
	- Fix many English syntax in error messages and documentation. Patch by
2898
	  Joseph Marlin.
2899
	- Fix non terminated TH html tag in checkpoint hourly table. Reported
2900
	  by Joseph Marlin.
2901
	- "Log file" section will now only report first and last log file parsed
2902
	- Fix empty output in hourly temporary file stats.
2903
	- Fix wrapping query that goes out of the table and makes the window
2904
	  scroll horizontally. Asked by Isaac Reuben.
2905
	- Fix code where != was replaced by $$CLASSSY0A$$!=$$CLASSSY0B$$ in the
2906
	  output. Reported by Isaac Reuben
2907
	- Fix and review text report output.
2908
	- Fix an issue in SQL code highligh replacement.
2909
	- Complete review of the HTML output. 
2910
	- Add .gitignore for swap files. Patch by Vincent Picavet
2911
	- Fix wrong variable for user and database filter. Patch by Vincent
2912
	  Picavet.
2913
	- Change default regexp for user and db to be able to detect both. Patch
2914
	  by Vincent Picavet.
2915
	- Fix false cur_date when using syslog and allow -b and -e options to
2916
	  work. Patch by Vincent Picavet.
2917
	- Fix some case where logs where not detected as PostgreSQL log lines.
2918
	- Added explanation for --begin and --end datetime setting. Patch by
2919
	  ragged.
2920
	- Added -v / --version. Patch by ragged.
2921
	- Fix usage information and presentation in README file.
2922

2923
2012-05-04 - version to 1.0
2924

2925
  First public release of pgBadger.
2926

2927
    New feature:
2928

2929
	- Add graph of ckeckpoint Wal files usage (added, removed, recycled).
2930
	- Add --image-format to allow the change of the default png image
2931
	  format to jpeg.
2932
	- Allow download of all pie graphics as images.
2933
 	- Add --pie-limit to sum all data lower than this percentage limit to
2934
	  avoid label overlap.
2935
 	- Allow download of graphics as PNG images.
2936
	- Replace GD::Graph by the Flotr2 javascript library to draw graphics.
2937
	  Patch by Guillaume Lelarge
2938
	- Add pie graphs for session, database, user and host. Add a --quiet
2939
	  option to remove debug output and --progress to show a progress bar
2940
	  during log parsing
2941
	- Add pie graph for Queries by type.
2942
	- Add graph for checkpoint write buffer per hours
2943
	- Allow log parsing without any log_line_prefix and extend it to be
2944
	  defined by the user. Custom log_line prefix can be parsed using user
2945
	  defined regex with command line option --regex-db and --regex-user.
2946
	  For exemple the default regex of pgbadger to parse user and db name
2947
	  from log_line_prefix can be written like this:
2948
		pgbadger -l mylogfile.log  --regex-user="user=([^,]*)," \
2949
			--regex-db="db=([^,]*)"
2950
	- Separe log_line_prefix from log level part in the parser to extend
2951
	  log_line_prefix parsing
2952
	- If there is just one argument, assume it is the logfile and use
2953
	  default value for all other parameters
2954
	- Add autodetection of log format (syslog or stderr) if none is given
2955
	  with option -f
2956
	- Add --outfile option to dump output to a file instead of stdout.
2957
	  Default filename is out.html or out.txt following the output format.
2958
	  To dump to stdout set filename to -
2959
	- Add --version command line option to show current pgbadger version.
2960

2961
    Bug fix:
2962

2963
	- Rearrange x and y axis
2964
	- Fix legend opacity on graphics
2965
	- Rearrange Overall stats view
2966
	- Add more "normalization" on errors messages
2967
	- Fix samples error with normalyzed error instead of real error message
2968
	- Fix an other average size of temporary file decimal limit
2969
	- Force quiet mode when --progress is used
2970
	- Fix per sessions graphs
2971
	- Fix sort order of days/hours into hours array
2972
	- Fix sort order of days into graphics
2973
	- Remove display of locks, sessions and connections statistics when none
2974
	  are available
2975
	- Fix display of empty column of checkpoint when no checkpoint was found
2976
	  in log file
2977

2978

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.