node.js + postgresql中的陈旧连接

时间:2015-10-27 05:39:08

标签: node.js postgresql

在我的节点应用中,我正在使用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;
    }
 });

1 个答案:

答案 0 :(得分:0)

通过调用pg.end()

检测连接问题并释放应用程序池

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