pg_stat_statements, pg_stat_monitor, pg_qualstats, hypopg, and other Postgres extensions for monitoring and query stats. Ranked by GitHub stars.
PostgreSQL Workload Analyser-core
The pg_stat_monitor is a PostgreSQL Query Performance Monitoring tool, based on PostgreSQL contrib module pg_stat_statements. pg_stat_monitor provides aggregated statistics, client information, plan details including plan, and histogram information.
The pg_stat_monitor is a PostgreSQL Query Performance Monitoring tool, based on PostgreSQL contrib module pg_stat_statements. pg_stat_monitor provides aggregated statistics, client information, plan details including plan, and histogram information.
Improves the query planner by learning cardinality estimates from prior query executions.
Improves the query planner by learning cardinality estimates from prior query executions.
An extension collecting statistics about quals
PostgreSQL load profile repository and report builder
PostgreSQL load profile repository and report builder
Kernel statistics gathering
show query plans of all currently running SQL statements
show query plans of all currently running SQL statements
active session history
sampling based statistics of wait events
EnterpriseDB system statistics for PostgreSQL
Inspects a running backend and returns EXPLAIN ANALYZE-style live execution statistics for the query it is currently processing.
Inspects a running backend and returns EXPLAIN ANALYZE-style live execution statistics for the query it is currently processing.
Tunes execution plans automatically through a feedback loop, refining hints via pg_hint_plan and pg_store_plans across repeated runs.
Tunes execution plans automatically through a feedback loop, refining hints via pg_hint_plan and pg_store_plans across repeated runs.
Background worker that collects per-process and system stats and serves them via an embedded HTTP endpoint.
Background worker that collects per-process and system stats and serves them via an embedded HTTP endpoint.
Core extension for the PoWA Workload Analyzer that gathers PostgreSQL performance statistics for monitoring and tuning.
Core extension for the PoWA Workload Analyzer that gathers PostgreSQL performance statistics for monitoring and tuning.
track plan statistics of all SQL statements executed
track plan statistics of all SQL statements executed
Saves and restores query execution plans to lock planner decisions, similar to Oracle's Outline system.
Saves and restores query execution plans to lock planner decisions, similar to Oracle's Outline system.
Capture node OS metrics via SQL queries
Track settings changes
Analyzes queries with hypothetical indexes and suggests candidate indexes that would improve execution plans.
Analyzes queries with hypothetical indexes and suggests candidate indexes that would improve execution plans.
Small PostgreSQL background worker to report whether a node is a replication master or standby
Small PostgreSQL background worker to report whether a node is a replication master or standby
Visualise database pages in ascii code
Manages and freezes planner statistics so PostgreSQL can use saved snapshots instead of the latest stats when building execution plans.
Manages and freezes planner statistics so PostgreSQL can use saved snapshots instead of the latest stats when building execution plans.
Exposes the Linux operating-system process table through SQL so load, memory, CPU, and I/O stats can be queried from PostgreSQL.
Exposes the Linux operating-system process table through SQL so load, memory, CPU, and I/O stats can be queried from PostgreSQL.
Provides monitoring views and functions covering disk usage, WAL throughput, replication lag, and query sources for Prometheus, Zabbix, or Munin agents.
Provides monitoring views and functions covering disk usage, WAL throughput, replication lag, and query sources for Prometheus, Zabbix, or Munin agents.
Monitoring extensions expose Postgres internals for performance analysis — query-level execution stats (pg_stat_statements, pg_stat_monitor), filesystem cache reads (pg_stat_kcache), predicate selectivity (pg_qualstats), wait events (pg_wait_sampling), buffer-pool contents (pg_buffercache), and hypothetical indexes for what-if analysis (hypopg). Together they're the foundation of any serious Postgres tuning effort and the data source for tools like PoWA, pganalyze, Datadog's Postgres integration, and AWS RDS Performance Insights.
Always enable pg_stat_statements — it's effectively required for any production Postgres deployment, surfaces the queries consuming the most time, and has near-zero overhead. Add pg_stat_monitor when you need time-bucketed query stats with histograms (Percona's enhanced replacement for pg_stat_statements). Add hypopg when you want to test an index without actually creating it — invaluable on large tables where CREATE INDEX takes hours. Skip the more niche stat extensions (pg_qualstats, pg_stat_kcache) until you have a specific performance problem that needs deeper instrumentation — they add overhead and noise to monitoring dashboards.
1bench is a modern GUI client for PostgreSQL — install extensions, write queries, and inspect schemas without leaving the IDE.
Try 1bench for PostgreSQL