psql 無法連接數據庫,報錯FATAL:53300


psql: FATAL:  53300: remaining connection slots are reserved for non-replication superuser connections
普通用戶的連接已滿,保留用於非複製的超級用戶連接。
當數據庫剩餘連接數<=爲超級用戶保留的連接數時,使用非超級用戶連接數據庫報錯如上,此時只能使用超級用戶連接數據庫。
 
如何查看數據庫剩餘連接數:
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終止空閒連接
 
2、調整數據庫最大連接數,並重啓生效。
 

 

 

–當前總共正在使用的連接數

postgres=# select count(1) from pg_stat_activity;

 

–顯示系統允許的最大連接數

postgres=# show max_connections;

 

–顯示系統保留的用戶數

postgres=# show superuser_reserved_connections ;

 

–按照用戶分組查看

select usename, count(*) from pg_stat_activity group by usename order by count(*) desc;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章