【发布时间】:2012-01-19 01:01:08
【问题描述】:
我正在 Heroku 上编写一个 node.js 应用程序并使用 pg module。对于查询数据库所需的每个请求,我无法找出“正确”的方法来获取客户端对象。
文档使用如下代码:
pg.connect(conString, function(err, client) {
// Use the client to do things here
});
但您肯定不需要在每个使用数据库的函数中调用pg.connect,对吧?我见过other code 这样做:
var conString = process.env.DATABASE_URL || "tcp://postgres:1234@localhost/postgres";
var client = new pg.Client(conString);
client.connect();
// client is a global so you can use it anywhere now
我倾向于第二种选择,因为我相信 Heroku 的免费数据库实例无论如何都仅限于一个连接,但是这样做有什么缺点吗?我是否需要在每次使用之前检查我的客户端对象是否仍然处于连接状态?
【问题讨论】:
标签: javascript postgresql node.js heroku