Performance Monitoring (PG Extension)
Enabling
Enable native performance monitoring with pg_stat_statement.
Enable extension
-- Enable extension (once per database)
CREATE EXTENSION IF NOT EXISTS pg_stat_statements;Add configuration (Non-docker)
Add to postgresql.conf.
shared_preload_libraries = 'pg_stat_statements'
pg_stat_statements.max = 10000
pg_stat_statements.track = allThen restart postgresql to activate it.
Add configuration (Docker)
For docker-compose images you can add to the postgres service:
services:
db:
image: postgres:xx-alpine
...
command: >
postgres
-c shared_preload_libraries=pg_stat_statements
-c pg_stat_statements.track=all
-c pg_stat_statements.max=10000
-c track_activity_query_size=2048Check extension
Monitoring Queries
Slowest & most frequent
Monitor real-time query activity
Check buffer & cache usage (I/O health)
Monitor locks & blocking
Temp file usage (memory under pressure)
Database load stats
Last updated