- Statistics collector
- contrib extensions
- External projects
- CLI tools
- Interfaces & collectors
- Generic monitoring solutions with plugins
- ClusterControl by Severalnines
- Postgres-centric monitoring solutions
- EnterpriseDB Postgres Enterprise Manager
- pg_statsinfo & pg_stats_reporter
- OPM: Open PostgreSQL Monitoring
- PASH-Viewer: PostgreSQL Active Session History Viewer
PostgreSQL collects lots of data on its own and offers it via the
pg_stat(io)_ system views
The following extensions offer access to Postgres internals which may be of interest or collect additional information. Most of them are shipped with Postgres (the
-contrib packages may need to be installed) and can be activated via the extension interface.
pg_stat_statements tracks all queries that are executed on the server and records average runtime per query "class" among other parameters.
pg_stat_plans extends on pg_stat_statements and records query plans for all executed quries. This is very helpful when you're experiencing performance regressions due to inefficient query plans due to changed parameters or table sizes.
pgstattuple can generate statistics for tables and indexes, showing how much space in each table & index is consumed by live tuples, deleted tuples as well as how much unused space is available in each relation.
pg_buffercache gives you introspection into Postgres' shared buffers, showing how many pages of which relations are currently held in the cache.
pg_view is a Python-based tool to quickly get information about running databases and resources used by them as well as correlate running queries and why they might be slow.
pg_activity is a htop like application for PostgreSQL server activity monitoring, written in Python.
pgmetrics collects a lot of information and statistics from a running PostgreSQL server and displays it in easy-to-read text format or export it as JSON for scripting.