我如何在 node-postgres 的客户端或池之间进行选择

How can I choose between Client or Pool for node-postgres

https://node-postgres.com/features/connecting 开始,似乎我们可以选择 PoolClient 来执行查询

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.

之间的区别

我可以知道,在 PoolClient 之间做出选择之前我应该​​考虑什么?

May I know, what thing I should consider, before choosing between Pool or Client?

如果您有或期望有多个并发请求,请使用池。这就是它的真正用途:提供一个可重复使用的开放 client 实例池(每当 client 可以重复使用时减少延迟)。

在那种情况下,您绝对不想在查询完成时调用pool.end(),您希望在应用程序终止时保留它,因为pool.end() 处理所有打开的 client 个实例。 (请记住,关键是要保持固定数量的 client 个可用实例。)