30连接后无法连接postgresql

时间:2016-03-30 12:33:15

标签: postgresql postgresql-9.1 postgresql-9.3

我有2个postgresql云服务器,第一个工作正常,但在30分钟后第二个我无法从java应用程序连接。当我从pgadmin连接它显示30到40连接并且在杀死那些连接后,每个东西都运行顺利。 它的

配置: 的PostgreSQL / 9.3

max_connections = 100

shared_buffers = 4GB

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

配置: 的PostgreSQL / 9.1

max_connections = 100

shared_buffers = 32MB

请你帮我理解或解决问题

1 个答案:

答案 0 :(得分:0)

我在具有数百个开放连接的PostgreSQL 9.3实例上工作。我同意你的看法,开放的连接本身不应该是一个问题。我们没有太多信息,下面是如何开始排除故障的说明。

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