池中使用的繁忙连接数

时间:2014-01-18 07:14:03

标签: node.js postgresql connection-pooling

我在 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秒时,我想是的,因为我没有将我的连接返回到游泳池。

1 个答案:

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

希望这会有所帮助......