Heroku에 node.js 앱을 작성하고 pg 모듈을 사용하고 있습니다. 데이터베이스를 쿼리해야하는 각 요청에 대해 클라이언트 개체를 가져 오는 "올바른"방법을 알아낼 수 없습니다.
문서는 다음과 같은 코드를 사용합니다.
pg.connect(conString, function(err, client) {
// Use the client to do things here
});
그러나 확실히 pg.connect
데이터베이스를 사용하는 모든 함수 내부 를 호출 할 필요 는 없습니까? 이 작업을 수행하는 다른 코드 를 본 적이 있습니다 .
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의 무료 데이터베이스 인스턴스가 어쨌든 하나의 연결로 제한되어 있다고 믿기 때문에 두 번째 옵션으로 기울고 있지만 이렇게하는 데 단점이 있습니까? 클라이언트 개체를 사용하기 전에 항상 연결되어 있는지 확인해야합니까?