Quelle est la bonne façon d'utiliser les node.js postgresql module?

Je suis en train d'écrire un node.js application sur Heroku et à l'aide de la pg module. Je ne peux pas trouver la "bonne" façon d'obtenir un objet client pour chaque requête que j'ai besoin d'interroger la base de données.

La documentation utilise un code comme ceci:

pg.connect(conString, function(err, client) {
  //Use the client to do things here
});

Mais sûrement, vous n'avez pas besoin d'appeler pg.connect à l'intérieur de chaque fonction qui utilise la base de données de droit? J'ai vu autre code qui fait cela:

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

Je me penche vers la seconde option, car je crois que le libre instance de base de données pour Heroku est limité à une connexion de toute façon, mais y at-il des inconvénients à le faire de cette façon? Dois-je vérifier si mon objet client est toujours connecté à chaque fois avant que je l'utiliser?

InformationsquelleAutor Philip | 2011-12-13