postgres-connection-exhausted

PostgreSQL 连接耗尽

现象

应用报 FATAL: sorry, too many clients already 或 remaining connection slots are reserved;pg_stat_activity 连接数接近 max_connections,新连接被拒绝。

快速定位

psql -c "SELECT count(*), state FROM pg_stat_activity GROUP BY state;"
psql -c "SHOW max_connections;"
psql -c "SELECT usename, application_name, client_addr, count(*)
FROM pg_stat_activity GROUP BY 1,2,3 ORDER BY 4 DESC;"

查看连接池:

psql -c "SELECT * FROM pg_stat_activity WHERE state = 'idle in transaction';"

常见根因

修复

相关命令