pgBadger 2.2 released : Improvements and benchmarking

Paris, France - November 14th, 2012

DALIBO is proud to announce the release of version 2.2 of pgBadger, the new PostgreSQL log analyzer. pgBadger is built for speed with fully detailed reports from your PostgreSQL log file. It's a single and small Perl script that aims to replace and to outperform the old PHP script pgFouine.

pgBadger 2.2 comes with new features and more options

pgBadger is becoming more flexible with some additional user-requested paramater such as:

  • –exclude-user option to ignore a specific user
  • –select-only option to build report only on select queries
  • –include-query and –include-file to specify with regular expression the queries/files that must be included in the report
  • –nocomment option to remove comments (/* … */) from queries.

This new version also has significant improvements:

  • You can now output XML files for Tsung (, a high-performance benchmarking framework. Based on your logged queries, pgBadger can produce a realistic benchmark scenario. For now, the “Simple Protocol” is supported (connect/authenticate/sql/close).
  • pgBadger now ruses the XS version of Text::CSV instead of the Pure Perl implementation. It's a clearly faster. However using csvlog is still a bit slower than syslog or stderr log format.
  • The PostgreSQL keywords list is now updated for 9.2
  • Dhutdown events are reported
  • Current total of queries and events parsed are reported in the progress bar
  • The log format detection is improved
  • … and many bugfixes

For the complete list of changes, please checkout the release note on

All pgBadger users should upgrade as soon as possible.

How to produce a Tsung scenario ?

The purpose of Tsung is to simulate users in order to test the scalability and performance of IP based client/server applications. You can use it to do load and stress testing of your servers. It can be used to stress HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP and Jabber/XMPP servers. To use Tsung against PostgreSQL, you create an XML file that will define several sessions. These sessions will be used to simulate different type of users.

Now for instance if we want to create a Tsung scenario based on the recent SELECT queries received by our server, all we need to do is :

  perl pgbadger -S -o sessions.tsung --prefix '%t [%p]: [%l-1] user=%u,db=%d ' /pglog/postgresql-9.1.log

The sessions.tsung file is an XML configuration file for Tsung. We can now run the benchmarck with :

  tsung -f  sessions.tsung start

Please read the project documentation for more details about Tsung :

DALIBO would like to thank the developers who submitted patches and the users who reported bugs and feature requests, especially Hubert “Depesz” Lubaczewski, Birta Levente, David Fetter, and Vincent Laborie. pgBadger is an open project. Any contribution to build a better tool is welcome. You just have to send your ideas, features requests or patches using the GitHub tools or directly on our mailing list.

Links :

About pgBadger :

pgBagder is a new generation log analyzer for PostgreSQL, created by Gilles Darold, also author of ora2pg migration tool. pgBadger is a fast and easy tool to analyze your SQL traffic and create HTML5 reports with dynamics graphs. pgBadger is the perfect tool to understand the behavior of your PostgreSQL server and identify which SQL queries need to be optimized.

Docs, Download & Demo at

About DALIBO :

DALIBO is the leading PostgreSQL company in France, providing support, trainings and consulting to its customers since 2005. The company contributes to the PostgreSQL community in various ways, including : code, articles, translations, free conferences and workshops

Check out DALIBO's open source projects at

Afficher le texte source