在我们的项目中,我们使用postgresSql(8.3)作为数据库服务器,但我们很少面对 问题(一次)。在日志文件中我看到错误像
****Connection attempt failed****
对我来说,应用程序试图从数据库服务器获取连接对象 但它没有成功。
奇怪的是,当我重新启动数据库服务器或Web服务器(Tomcat)时,它将正常工作。 我很少会收到这个错误。
答案 0 :(得分:1)
以下是一些可能导致这种情况的事情,没有更多细节,我不能多说。
1.网络错误。连接字符串的一部分可能没有传递给PostgreSQL。见第2项。
2.连接字符串已损坏。连接字符串是动态创建的吗?
3.连接池中的问题。这应该会在连接池中引发错误。在不知道您正在使用什么类型的连接池的情况下,我无法排除它。
答案 1 :(得分:1)
您可能超过了最大连接数。在postgresql.conf中查看max_connections参数,在大多数版本中默认为100。
netstat -tn | grep -c 5432
应该为您提供当前打开的连接数的近似值。
答案 2 :(得分:0)
当用户取消请求并且服务器在请求中间终止连接时,这在web应用程序中很常见。听起来它实际上并没有停止服务器吗?
答案 3 :(得分:0)
确保在打开finally
块后关闭资源(连接,语句,结果集)。如果您正在使用连接池,还要确保其maxsize未设置得太高。