当前位置:   article > 正文

PG数据库提示: FATAL: sorry, too many clients already

fatal: sorry, too many clients already

目录

场景:

idea启动提示如下错误

翻译:

连接数相关查询:

 原因分析:

解决方法:

场景:

idea启动提示如下错误

  1. org.postgresql.util.PSQLException: FATAL: sorry, too many clients already
  2.     at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:463)
  3.     at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:203)
  4.     at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
  5.     at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:195)
  6.     at org.postgresql.Driver.makeConnection(Driver.java:454)

翻译:

pg数据库已经有太多的客户端连接

连接数相关查询:

查询pg数据库设置的最大连接数 

show max_connections;

SELECT * FROM pg_settings  WHERE name = 'max_connections';

 查询pg数据库当前的连接数

--pg数据库当前连接数总数

SELECT sum(numbackends) FROM pg_stat_database;


---pg各个数据库中的连接数
SELECT datname, numbackends FROM pg_stat_database;

 查询pg某个数据库某个ip的连接数

SELECT datname,pid,state FROM pg_stat_activity  where datname = 'zwzt' and client_addr='192.168.100.88';

  关闭数据库中的空闲连接

SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity    WHERE pg_stat_activity.datname = 'zwzt'

and client_addr='192.168.100.88' and state='idle'
and pid <> pg_backend_pid();

 原因分析:

当前数据库中的连接数1993,然而pg数据库设置的最大连接数是2000

 pg数据库的最大连接数

因此项目启动中很容易就超过了2000.

解决方法:

 我把我ip连接的pg的空闲进程的连接都杀掉,再次启动就好了

SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE pg_stat_activity.datname = 'zwzt' and client_addr='192.168.100.88' and state='idle'
AND pid <> pg_backend_pid();

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/454921
推荐阅读
相关标签
  

闽ICP备14008679号