
012269101
使用psql无法连接数据库,并报错 FATAL:53300
目录
环境
症状
问题原因
解决方案
相关文档
报错编码
环境
系统平台:N/A
版本:4.1.1
症状
1)
psql: FATAL: 53300: remaining connection slots are reserved for non-replication superuser connections
2)
psql: FATAL: 53300: sorry, too many clients already
问题原因
1)
普通用户的连接已满,保留用于非复制的超级用户连接。
当数据库剩余连接数<=为超级用户保留的连接数时,使用非超级用户连接数据库报错如上,此时只能使用超级用户连接数据库。
2)
数据库连接已满,无法建立新的连接。
解决方案
如何查看数据库剩余连接数:
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;
1、 关闭空闲连接。
select datname,pid,application_name,state from pg_stat_activity;
--查看目前所有的连接的进程id、应用名称、状态。
select pg_terminate_backend(pid) from pg_stat_activity;
--通过pid终止空闲连接
2、调整数据库最大连接数,并重启生效。
本文详细解析了使用psql连接数据库时出现的FATAL:53300错误,包括错误产生的两种情况:普通用户连接已满和数据库连接总数已满。文章提供了检查数据库剩余连接数和超级用户保留连接数的方法,以及关闭空闲连接和调整最大连接数的解决方案。
1930

被折叠的 条评论
为什么被折叠?



