连接到 PostgreSQL 数据库时,遇到错误“org .postgresql.util.PSQLException: FATAL: 抱歉,客户端已经太多”表示允许的并发连接数已达到超出。
当代码打开多个数据库连接而没有正确关闭它们时,就会发生这种情况。虽然销毁和垃圾收集类通常会释放其对连接的保留,但显式关闭与数据库的连接至关重要。
修复的示例是在创建连接的任何类中添加以下代码:
protected void finalize() throws Throwable { try { your_connection.close(); } catch (SQLException e) { e.printStackTrace(); } super.finalize(); }
这确保了在类被垃圾回收时释放连接。
检查允许的最大连接数也很有用PostgreSQL:
show max_connections;
默认值为 100。如果需要更多连接,可以通过编辑 postgresql.conf 文件来增加此值。搜索“max_connections”并进行相应调整。
要确定哪些连接保持打开状态或哪些程序未释放它们,您可以使用以下命令:
SELECT * FROM pg_stat_activity;
SELECT COUNT(*) from pg_stat_activity;
最后,请记住跟踪正在创建的连接并确保它们全部正确关闭。
以上是为什么我在 PostgreSQL 中收到'org.postgresql.util.PSQLException: FATAL: 抱歉,已经有太多客户端”?的详细内容。更多信息请关注PHP中文网其他相关文章!