与Java中的Postgresql的连接过多

问题描述 投票:0回答:1

我使用Postgresql for DB并有连接问题。该项目非常大,内部流程很多,而且非常复杂...有时,该应用程序创建了很多连接,并且数据库中没有剩余连接,应用程序冻结了。问题不在数据库中,而是在应用程序中。

[当我查看pg_stat_activity时,我看到了所有连接,而它们的查询是select 1(当连接打开时发生的第一个查询,以验证连接)。因此,该应用似乎打开了一个连接,并且没有使用它。而当有很多...您知道...

我不知道从哪里打开代码。

是否有Java / postgres的技术/工具来知道它们来自何处?

仅查看代码将永远花费。

java postgresql performance database-connection
1个回答
1
投票

PostgreSQL中没有直接在应用程序源中找到内容的功能。

[您只能尝试使用正确的log_line_prefixlog_statement参数在PostgreSQL端启用更详细的日志记录:仅当语句是从特定的可执行文件或主机提交的,这才有帮助(因为相关的日志记录数据可以帮助查找正确的代码部分)。

如果应用程序启动的事务闲置时间过长,则可以设置idle_in_transaction_session_timeout

不幸的是,对于没有运行事务的空闲会话,PostgreSQL没有超时。

© www.soinside.com 2019 - 2024. All rights reserved.