在我的节点应用中,我正在使用express + postgresql。对于postgresql我正在使用'pg'模块..
考虑我的postgresql重新启动,然后到postgresql连接的管道(连接)被破坏,我的应用程序无法运行。我必须重新启动我的应用程序才能正常工作。
如何避免重启并使pg模块自动重新连接。我想我在说"Stale Connection"
。请分享您的想法。
我的连接字符串:
var conString = 'postgres://' + configPostgres.username + ':' + configPostgres.password + '@' + configPostgres.host + '/'+configPostgres.dbname;
var pgclient;
pg.connect(conString, function(err, client, done) {
if(err){
logger.info("In pgconnect");
logger.error(err.stack);
return;
} else {
pgclient = client;
}
});
答案 0 :(得分:0)
通过调用pg.end()
这将同时释放所有数据库连接和连接池,因此下次调用.connect
时,它将重新初始化池并尝试再次创建物理连接。