node-postgres の API ドキュメントを読みました。
pg
オブジェクトを使用してプールされたクライアントを作成することをお勧めします。そして、pg.connect
APIドキュメントでは次のように述べています:
connect メソッドはクライアント プールから Client を取得します。または、プールされたすべてのクライアントがビジーでプールがいっぱいでない場合、connect メソッドは新しいクライアントを作成し、その最初の引数を Client コンストラクターに直接渡します。
推奨事項によると、使用は「オブジェクトを使用してプールされたクライアントを作成pg.connect
する」ことを意味しますか? pg
そうでない場合、それは実際にはどういう意味ですか?
私の実装例では、ルートでいくつかのクエリを作成しました。
app.get('/post', function(req, res) {
pg.connect(dbconfig, function(err, client, done) {
client.query('SELECT * FROM post', function(err, result) {
res.render('post/list', { posts: result.rows });
});
});
});
app.get('/post/new', function(req, res) {
res.render('post/new');
});
app.post('/api/v1/post', function(req, res) {
var b = req.body;
pg.connect(dbconfig, function(err, client, done) {
client.query('INSERT INTO post (title, content) VALUES ($1, $2)',
[b.title, b.content],
function(err, result) {
done();
res.redirect('/post');
});
});
});
pg.connect
クエリを作成するたびに呼び出すのは正しい方法ですか? そうでない場合、より良いアイデアは何ですか?