使用psql無法連接數據庫,並報錯 FATAL:53300
psql: FATAL: 53300: remaining connection slots are reserved for non-replication superuser connections
普通用戶的連接已滿,保留用於非復制的超級用戶連接。
由於連接已滿,可以關閉空閑的連接
1)查詢當前所有連接的狀態
select datname,pid,application_name,state from pg_stat_activity;
2)關閉當前state為 idle 空閑狀態的連接

查看數據庫剩余連接數:
select max_conn-now_conn as resi_conn from (select setting::int8 as max_conn,(select count(*) from pg_stat_activity) as now_conn from pg_settings where name = 'max_connections') t;
查看為超級用戶保留的連接數:
show superuser_reserved_connections;
psql: FATAL: 53300: sorry, too many clients already
數據庫連接已滿,無法建立新的連接。
1、關閉空閑連接
select datname,pid,application_name,state from pg_stat_activity;
--查看目前所有的連接的進程id、應用名稱、狀態。
select pg_terminate_backend(pid) from pg_stat_activity;
--通過pid終止空閑連接
當前總共正在使用的連接數:
select count(1) from pg_stat_activity;
顯示系統允許的最大連接數
show max_connections;
顯示系統保留的用戶數
show superuser_reserved_connections ;
–按照用戶分組查看
select usename, count(*) from pg_stat_activity group by usename order by count(*) desc;
結束連接的進程
SELECT pg_terminate_backend(15278);
--殺死所有idle的進程:
postgres=# select pg_terminate_backend(pid) from pg_stat_activity where state=’idle’;
pg_terminate_backend
t
t
(2 rows)