Как правильно использовать базу данных PG POOL - PullRequest
0 голосов
/ 28 сентября 2019

Я использую узел Postgress , и я хотел бы использовать пул соединений с ним.У меня есть простой репозиторий, как это:

Init

    const pool = new Pool({
        connectionString: process.env.DATABASE_URL,
    })

    await pool.connect()

Пример кода SELECT ..

export default (
    {
        pgPool,
    }: Object
) => {
    return { 
        getExampleData: async (uid: string) => {
            const result = await pgPool.query('SELECT data FROM public.results_table WHERE uid = $1::text;', [uid])
            return result.rows
        },
    }
}

Моя проблема в том, что под давлением (много запросов)Я получаю следующую ошибку:

ошибка: оставшиеся слоты подключения зарезервированы для подключений суперпользователя без репликации

Я не уверен, правильно ли я использую пул.

1 Ответ

0 голосов
/ 28 сентября 2019

Часть нашего pgpool.conf:

# - Pool size -

num_init_children = 100
                                   # Number of pools
                                   # (change requires restart)
max_pool = 3
                                   # (change requires restart)

# - Life time -

child_life_time = 120
                                   # Pool exits after being idle for this many seconds
child_max_connections = 0
                                   # Pool exits after receiving that many connections
                                   # 0 means no exit
connection_life_time = 90
                                   # Connection to backend closes after being idle for this many seconds
                                   # 0 means no close
client_idle_limit = 0
                                   # Client is disconnected after being idle for that many seconds
                                   # (even inside an explicit transactions!)
                                   # 0 means no disconnection

Вам также должны помочь следующие вопросы / ответы:

Heroku “psql: FATAL: оставшиеся слоты подключения зарезервированы дляподключения суперпользователя без репликации »

Поверьте, это помогает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...