30次连接后无法连接postgresql



我有两个postgresql的云服务器,第一个运行良好,但第二个30分钟后我无法从java应用程序连接。当我从pgadmin连接时,它显示30到40个连接,在杀死这些连接后,一切都很顺利。其

配置:postgresql/9.3

最大连接数=100

shared_buffers=4GB

当同一个应用程序连接到具有相同模式的其他postgresql时,所有都会永远正常工作

配置:postgresql/9.1

最大连接数=100

shared_buffers=32MB

你能帮我理解或解决

问题吗

我在一个PostgreSQL 9.3实例上工作,该实例有数百个开放连接。我同意你的观点,开放式连接本身不应该成为问题。由于我们没有太多信息,下面是如何开始故障排除的描述。

  1. 检查服务器日志是否有任何错误。启动连接可能存在操作系统级别的问题
  2. 尝试以应用程序用户的身份使用psql登录。这个问题持续存在吗?如果没有,问题不在PostgreSQL。我会仔细研究一下Java代码,看看那里是否发生了什么事情
  3. 请注意,psql和其他libpq操作可能无法提供完整的信息。在观看数据包捕获时,请尝试通过非SSL连接进行本地连接。在这种情况下,您可以找到(并查找)连接的SQLSTATE错误。这是因为,出于遗留和向后兼容性的原因,libpq在连接到数据库时不会将sqlstate传递给客户端应用程序

不过,我敢打赌这不是一个postgresql问题。这可能是操作系统问题。这可能是资源问题。这可能是客户端应用程序问题。

最新更新