web-dev-qa-db-ja.com

node-postgresのクライアントまたはプールを選択する方法

https://node-postgres.com/features/connecting から、クエリを実行するためにPoolまたはClientを選択できるようです

pool.query('SELECT NOW()', (err, res) => {
  console.log(err, res)
  pool.end()
})

client.query('SELECT NOW()', (err, res) => {
  console.log(err, res)
  client.end()
})

機能はほとんど同じです。しかし、ドキュメントではPoolClientの違いについてあまり説明していません。

PoolまたはClientのいずれかを選択する前に、どのようなことを考慮する必要があるのか​​、わかりますか?

21
Cheok Yan Cheng

プールまたはクライアントを選択する前に、考慮すべきことを知っていますか?

複数の同時要求がある場合、または予想される場合は、プールを使用します。文字通り、再利用可能なオープンclientインスタンスのプールを提供することです(clientを再利用できる場合は、待ち時間を短縮します)。

その場合、あなたは間違いなく望まないクエリの完了時にpool.end()を呼び出し、pool.end()はすべてのオープンを破棄するため、アプリケーションが終了するときにそれを予約したいclientインスタンス。 (重要な点は、固定数のclientインスタンスを使用可能にすることです。)

24
user268396