来自node.js的postgres连接

我在我的应用程序中使用node-postgres 。 我想知道我想要遵循的最佳实践,以确保稳定的连接。

以下是我现在使用的代码,

exports.getAll = function (args, callback) { helper.client = new pg.Client('tcp://postgres:system6:5432@192.168.143.11/abc_dev'); helper.client.connect(); helper.client.query('select count(1) as total_records from facilities', function(err,response){ helper.client.query('select * ,'+response.rows[0].total_records+' as total_records from facilities', function(err,response){ callback(response); helper.client.end.bind(helper.client); }); }); }; 

正如你在代码中看到的,我为每个请求连接数据库,并在查询执行后断开连接。 我还有一个想法,我只能在全局连接数据库一次,并使用打开的连接执行查询。 代码看起来像

 helper.client = new pg.Client('tcp://postgres:system6:5432@192.168.143.11/abc_dev'); helper.client.connect(); exports.getAll = function (args, callback) { helper.client.query('select count(1) as total_records from facilities', function(err,response){ helper.client.query('select * ,'+response.rows[0].total_records+' as total_records from facilities', function(err,response){ callback(response); }); }); }; 

这里的连接永远不会结束。 就我所知,我无法决定哪一个最好。 请build议。

谢谢..

在node-postgres wiki中有一个例子。 它在处理请求时连接:

 var server = http.createServer(function(req, res, next) { pg.connect(function(err, client, done) { 

这也是我认为是正确的:你的连接应该在请求范围内。