Skip to main content

PostgreSQL monitoring with Netdata

Collects database health and performance metrics.


  • python-psycopg2 package. You have to install it manually and make sure that it is available to the netdata user, either using pip, the package manager of your Linux distribution, or any other method you prefer.

  • PostgreSQL v9.4+

Following charts are drawn:

  1. Database size MB

    • size
  2. Current Backend Processes processes

    • active
  3. Current Backend Process Usage percentage

    • used
    • available
  4. Write-Ahead Logging Statistics files/s

    • total
    • ready
    • done
  5. Checkpoints writes/s

    • scheduled
    • requested
  6. Current connections to db count

    • connections
  7. Tuples returned from db tuples/s

    • sequential
    • bitmap
  8. Tuple reads from db reads/s

    • disk
    • cache
  9. Transactions on db transactions/s

    • committed
    • rolled back
  10. Tuples written to db writes/s

-   inserted
- updated
- deleted
- conflicts
  1. Locks on db count per type

    • locks
  2. Standby delta KB

    • sent delta
    • write delta
    • flush delta
    • replay delta
  3. Standby lag seconds

    • write lag
    • flush lag
    • replay lag
  4. Average number of blocking transactions in db processes

    • blocking


Edit the python.d/postgres.conf configuration file using edit-config from the Netdata config directory, which is typically at /etc/netdata.

cd /etc/netdata   # Replace this path with your Netdata config directory, if different
sudo ./edit-config python.d/postgres.conf

When no configuration file is found, the module tries to connect to TCP/IP socket: localhost:5432.

name : 'socket'
user : 'postgres'
database : 'postgres'

name : 'tcp'
user : 'postgres'
database : 'postgres'
host : 'localhost'
port : 5432

Was this page helpful?

Need further help?

Search for an answer in our community forum.