我正在PostgreSQL
9.1中使用数据库,该数据库中的条目连续来自另一个程序。我正在6秒后从Ajax发送请求以获取最新条目.tomcat输出窗口显示异常—
Arval SQLException: FATAL: sorry, too many clients already
之后程序也可以正常工作。当我通过查询检查我的postgres时-
select count(*) from pg_stat_activity;
它表明连接不断增加,但是在每个请求之后我都关闭了连接。我正在使用netbeans和struts 1.3。
long previousSNO = Long.parseLong(request.getParameter("previousSNO"));
if(previousSNO == 0)
{
sb.append("SELECT sno,search_type,search_value,search_date FROM log_temp ORDER BY search_date DESC LIMIT 20");
prest = cb.executeSQLQuery(sb.toString());
rs = prest.executeQuery();
}
else
{
sb.append("SELECT sno,search_type,search_value,search_date FROM log_temp WHERE sno > ? ORDER BY search_date DESC");
prest = cb.executeSQLQuery(sb.toString());
prest.setLong(1, previousSNO);
rs = prest.executeQuery();
}
rs.last();
int c = rs.getRow();
rs.beforeFirst();
if(rs!=null && c>0)
{
//code for making json resultsb from resultset here
rs.close();
}
cb.closeConnection();
response.setContentType("text/plain");
response.getWriter().print(resultsb.toString());
//连接bean中的关闭方法是
public void closeConnection() {
try {
// st.close();
conn.close();
System.out.println("con is closed");
conn = null;
} catch (SQLException e) {
e.getMessage();
System.out.println(e.getMessage());
System.out.println("con is not closed");
}
}
每次在控制台“ con上关闭”打印时;
您可以在postgres中增加max_connections,但这不是解决方案。您有资源泄漏。可以是任何-连接未关闭,结果集未关闭。请返回并检查代码。
考虑使用连接池库
关于连接池的一般讨论在这里
(感谢@ sinisa229 mihajlovski)
Consloe: 2013年6月22日2:41:36 PM org.hibernate.engine.jdbc.spi.sqlExceptionHelper logExceptions警告:SQL错误:0,SQLState:53300 2013年6月22日2:41:36 PM org.hibernate.engine.jdbc.spi.sqlExceptionHelper logException
我的目标是将客户端数据库(DBeaver,Aginity Pro)连接到在docker容器上运行的PostgreSQL。 从容器内部,与Postgres的连接是成功的。我使用了Adminer和PSQL,连接正常。我可以创建数据库、表格、加载数据。然而,使用来自客户端数据库的相同连接字符串,我得到了一条消息:致命:用户“postgres”的密码身份验证失败 如果有人在Win10 x64 Pro上与P
我试图测试的速度,反对“手动”乘法,并偶然发现了这个错误: Java 运行时环境检测到致命错误: EXCEPTION_ACCESS_VIOLATION (0xc0000005) 在 pc=0x000000005ac46888, pid=1508, tid=6016 JRE版本:Java(TM)SE运行时环境(8.0_25-b18)(构建1.8.0-25-B16) Java VM:Java热点(TM