-- 统计各状态会话数
SELECT state, count(*) AS session_count
FROM pg_stat_activity
WHERE backend_type = 'client backend' -- 排除系统进程
GROUP BY state ORDER BY session_count DESC;
五、总结
pg_stat_activity 的 state 字段是 PostgreSQL 运维的 “仪表盘”:active/idle 为正常状态,idle in transaction 为高风险状态,idle in transaction (aborted) 为致命状态。生产环境需通过参数配置(idle_in_transaction_session_timeout、statement_timeout)+ 监控告警 + 定期排查,避免异常状态拖垮数据库。