postgres 切换数据库提示remaining connection slots are reserved for non-replication superuser connections

场景

使用下面命令在pg终端内,切换数据库时提示

\c   db_name   pg_user;   # pg_user是非超级用户

报错

psql: FATAL:  53300: remaining connection slots are reserved for non-replication superuser connections

意思是:普通用户的连接已满,仅保留用于非复制的超级用户连接。

解决办法

连接过多导致,解决办法如下:

select datname,pid,application_name,state from pg_stat_activity;  # 查看目前所有的连接的进程id、应用名称、状态。
select pg_terminate_backend(pid) from pg_stat_activity;  # 通过pid终止空闲连接

其他

查看当前连接数,可以使用下面语句

SELECT count(*) FROM pg_stat_activity;   # 查看当前连接数
SHOW max_connections;   # 可以查看设置的最大连接数
posted @ 2022-09-08 14:47  wswang  阅读(3273)  评论(0编辑  收藏  举报