De https://node-postgres.com/features/connecting , il semble que nous pouvons choisir entre Pool
ou Client
pour effectuer la requête
pool.query('SELECT NOW()', (err, res) => {
console.log(err, res)
pool.end()
})
client.query('SELECT NOW()', (err, res) => {
console.log(err, res)
client.end()
})
Leurs fonctionnalités se ressemblent beaucoup. Mais, la documentation n'explique pas beaucoup la différence entre Pool
et Client
.
Puis-je savoir ce que je dois considérer avant de choisir entre Pool
ou Client
?
Puis-je savoir ce que je dois considérer avant de choisir entre Pool ou Client?
Utilisez un pool si vous avez ou prévoyez d'avoir plusieurs demandes simultanées. C'est littéralement à cela qu'il sert: fournir un pool d'instances ouvertes client
réutilisables (réduit la latence chaque fois qu'un client
peut être réutilisé).
Dans ce cas, vous devez absolument ne voulez pas appeler pool.end()
à la fin de votre requête, vous devez le réserver à la fin de votre application car pool.end()
dispose de tout les instances ouvertes client
. (N'oubliez pas, le but est de garder jusqu'à un nombre fixe d'instances client
disponibles.)