Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Fetch logs from RDS postgres instance and use them with pgbadger to generate a report.

Project Description


Fetches RDS log files and analyzes them with pgBadger.


Make sure your credentials are set in the ~/.aws/credentials file. Also, you can set a region in the ~/.aws/config file, so passing region option to the script is not needed. Last but not least, make sure you have pgbadger installed and reacheable from your $PATH.

Parameter group

You will have to configure your database parameter group.

First of all, ensure log_min_duration_statement is set to 0 or higher, else you won’t have anything to be parsed.

Then you must enable some other parameters to get more information in the logs.

Parameter Value
log_checkpoints 1
log_connections 1
log_disconnections 1
log_lock_waits 1
log_temp_files 0
log_autovacuum_min_duration 0

Also make sure lc_messages is either at engine default or set to C.

For further details, please refer to Dalibo’s pgbadger documentation.


You can install it using pip:

$ pip install rdspgbadger


To build a pgbadger report, just run the following (replacing instanceid by your instance ID):

$ rds-pgbadger instanceid


Only the Instance ID is mandatory, but there are also other options you can use:

  • -d, –date : by default the script downloads all the available logs. By specifying a date in the format YYYY-MM-DD, you can then download only that day’s logs.
  • -r, –region : by default the script use the region specified in your AWS config file. If none, or if you wish to change it, you can use this option to do so.
  • -o, –output : by default the script outputs log files and reports to the out folder. This option allows you to change it.
  • -n, –no-process : download log file(s), but do not process them with pgBadger.
  • -X, –pgbadger-args : command-line arguments to pass to pgBadger
  • –assume-role : By specifying a role you can use STS to assume a role, which is useful for cross account access with out having to setup the .config file. Format arn:aws:iam::<account_id>:<role_name>


For any request, feel free to make a pull request or fill an issue on Github.

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Hash SHA256 Hash Help Version File Type Upload Date
(5.9 kB) Copy SHA256 Hash SHA256
Source Nov 1, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting