Не понимаю как функционирует пул клиентов. У меня требуется нескольким приложениям одновременно использовать одну Postgre базу.
Читая статью:
https://node-postgres.com/features/pooling наталкиваюсь на выражение:
You must __always__ return the client to the pool if you successfully check it out, regardless of whether or not there was an error with the queries you ran on the client. If you don't check in the client your application will leak them and eventually your pool will be empty forever and all future requests to check out a client from the pool will wait forever.
Вообще ничего не понял. Я же делаю запросы так:
const {Pool} = require("pg");
const pool = new Pool({
host: "127.0.0.1",
port: 5432,
database: "mydb",
user: "user1",
password: "pwd",
});
(async () => {
let query = "SELECT datnameasfd FROM pg_database;";
let res = await pool.query(query);
})();
Это правильно или нет? Но здесь даже нет клиента. Не понимаю нужно ли это делать вообще и в каком случае нужно. Как изменится реализация, если у меня веб-сервер обрабатывает сотни запросов и нужно persistent-connection? В каком случае в конце нужно добавлять pool.end()?