我在 pg 节点js模块中使用连接池。
据我所知,当您使用连接池时,为您创建了连接,并在需要时存储了这些连接,引发了一些方法,并且您已经实例化了连接。
现在关于pg:
简单代码
pg.connect(conString, function (err, client, done) {
if (err) {
callback(err);
} else {
client.query('SELECT * FROM users', function (err, result) {
done();
if (err) callback(err);
callback(null, result.rows);
});
}
});
当我调用pg.connect
方法时,我认为,我已经从池中实例化了连接,当我调用done
时,我将连接返回到池中。
现在我想调试我的应用程序,我可能忘记拨打done
或者没有效率地执行此操作。
如何打印繁忙连接数?或者另一种调试方法。提前谢谢。
我遇到了一些问题,当我的路线请求挂了30秒时,我想是的,因为我没有将我的连接返回到游泳池。
答案 0 :(得分:1)
来自pg模块documentation pages
var pg = require('pg');
pg.connect(function(err, client, done) {
var pool = pg.pools.getOrCreate();
console.log(pool.getPoolSize()); //1
console.log(pool.availableObjectsCount()); //0
done();
console.log(pool.getPoolSize()); //1
console.log(pool.availableObjectsCount()); //1
});
希望这会有所帮助......