AdvancedPerformance & Indexes
Connection pooling and pg_stat_activity
The query
SQL
-- Check active connections
SELECT
pid,
usename,
application_name,
client_addr,
state,
query_start,
NOW() - query_start AS query_duration,
LEFT(query, 100) AS query_preview
FROM pg_stat_activity
WHERE state != 'idle'
AND pid != PG_BACKEND_PID()
ORDER BY query_duration DESC;
-- Kill a slow query
SELECT PG_TERMINATE_BACKEND(pid)
FROM pg_stat_activity
WHERE pid = 12345;Note
“Monitor slow queries with pg_stat_activity. PG_TERMINATE_BACKEND() kills a connection. Use carefully!