node.js + postgresql中的过时连接

在我的节点应用程序中,我使用了express + postgresql。 对于postgresql我使用'PG'模块..

考虑我的postgresql重新启动,然后pipe道(连接)postgresql连接中断,我的应用程序无法正常工作。 我必须重新启动我的应用程序才能正常工作。

我如何避免重新启动,并使pg模块自动重新连接。 我想我正在谈论"Stale Connection" 。 请分享你的想法。

我的连接string:

 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; } }); 

检测连接性问题并释放应用程序池,方法是调用pg.end()

这将同时释放所有的数据库连接和连接池,所以下一次调用.connect ,它将重新初始化池并尝试再次创build一个物理连接。