postgres链接太多(sorry, too many clients already)

本文介绍了解决PostgreSQL数据库连接数已满的问题步骤。包括查询当前连接数、最大连接数及各用户连接数,终止空闲连接,并调整最大连接数设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

postgres 由于用户链接数已满无法进行新的链接,同时提示错误 sorry, too many clients already

首先进入postgres数据库,我使用的容器部署,那就是先要进入对应的postgres 容器

$ docker exec -u root -it postgresId /bin/bash

1、登录postgres

$ su postgres

2、进入sql 查询

$ psql

2、当前总共正在使用的连接数

postgres=# select count(1) from pg_stat_activity;
 count 
-------
    23
(1 row)

3、显示系统允许的最大连接数

$ show max_connections;

4、显示系统保留的用户数

$ show superuser_reserved_connections ;

5、按照用户分组查看

$ select usename, count(*) from pg_stat_activity group by usename order by count(*) desc;

6、查询当前所有连接的状态

postgres=# select datname,pid,application_name,state from pg_stat_activity; 
 datname  | pid  |    application_name    | state  
----------+------+------------------------+--------
 postgres |   47 | psql                   | idle
 app      | 5884 | PostgreSQL JDBC Driver | idle
 app      | 5888 | PostgreSQL JDBC Driver | idle
 app      | 5875 | PostgreSQL JDBC Driver | idle


7、关闭当前state为 idle 空闲状态的连接

postgres=# select pg_terminate_backend(5884) from pg_stat_activity;
 pg_terminate_backend 

8、修改最大链接数据

如果不想关闭空闲链接,可以增加最大链接数

postgres=# show max_connections;
postgres=# alter system set max_connections=1000;

重启数据库再查看链接就已经是1000了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔跑的痕迹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值