Java 红移连接未正确关闭
我正在使用redshift处理Java和Node Js。不久前,我们发现在所有关闭连接调用上都没有创建断开连接事件。 Java(使用redshift.jdbc41): 和节点Js(使用pg模块)示例: 所以在执行查询后调用代码来关闭连接,但在stl_connection_日志中,部分连接只创建了启动会话事件,而没有断开会话,所以许多连接保持活动状态达数天,并且在客户端应用程序停止后不会重置Java 红移连接未正确关闭,java,node.js,amazon-redshift,connectivity,Java,Node.js,Amazon Redshift,Connectivity,我正在使用redshift处理Java和Node Js。不久前,我们发现在所有关闭连接调用上都没有创建断开连接事件。 Java(使用redshift.jdbc41): 和节点Js(使用pg模块)示例: 所以在执行查询后调用代码来关闭连接,但在stl_connection_日志中,部分连接只创建了启动会话事件,而没有断开会话,所以许多连接保持活动状态达数天,并且在客户端应用程序停止后不会重置 有人能建议如何解决这个问题吗?可能需要一些红移配置或在客户端应用程序中的其他工作方式?您提到的Node J
有人能建议如何解决这个问题吗?可能需要一些红移配置或在客户端应用程序中的其他工作方式?您提到的Node Js代码对我来说很好。如果您想通过红移强制关闭连接,可以使用下面的查询
select pg_terminate_backend (pg_backend_pid());
如果我做了一个错误的假设,请评论,我将重新关注我的答案。您可以在连接字符串中设置idleTimeoutMillis:。
var client = new pg.Client(conString);
client.connect(function (err) {
if (err) throw err;
client.query(query, function (err, result) {
client.end(function (err) {if (err) throw err;});
...
});
});
select pg_terminate_backend (pg_backend_pid());