Пулер соединений

Для управления пулом соединений кластеры PostgreSQL используют PgBouncer. PgBouncer минимизирует издержки при установке новых подключений к PostgreSQL. Пулер соединений можно настроить при создании кластера и изменить в созданном кластере.

Режимы пулинга

Режим пулинга — это стратегия соединения сервера приложения с базой данных.

PgBouncer поддерживает несколько режимов пулов:

  • transaction — соединение назначено на клиента на время транзакции. Режим позволяет каждому клиенту использовать пул в течение одной транзакции за раз.

    Если в пуле недостаточно доступных соединений для обработки отправленных транзакций, дополнительные транзакции ставятся в очередь для запуска, как только соединения станут доступны.

    Режим транзакции полезен, когда у вас есть большое количество клиентов, которые поддерживают соединение.

  • session — соединение назначено, пока клиент подключен. Режим позволяет клиентам продолжать отправлять запросы до тех пор, пока они не отключатся от базы данных, которая поддерживает соединение клиента все время.

    Если в пуле недостаточно доступных подключений для обработки всех подключающихся клиентов, дополнительные клиенты ставятся в очередь. Они будут подключены после отключения подключенных клиентов.

    Режим сеанса полезен, когда ваше приложение использует подготовленные операторы, рекомендательные блокировки, прослушивание/уведомление или другие функции, которые работают на уровне сеанса, а не на уровне транзакции.

  • statement — транзакции с несколькими операторами запрещены.

    Наиболее строгий режим, который позволяет выполнять только один оператор за раз, прежде чем перейти к следующему в очереди. Это означает, что запросы с несколькими операторами не разрешены и завершаются ошибкой.

    Режим оператора полезен, когда вы принудительно выполняете автоматическую фиксацию для каждого клиента, что означает, что каждая транзакция ограничена одним оператором.

Изменить режим пулинга

  1. В панели управления перейдите в раздел Облачная платформа ⟶ Базы данных.
  2. Откройте страницу кластера вкладка Настройки.
  3. В блоке Пулер соединений нажмите Изменить и выберите режим плуинга.
  4. Нажмите Сохранить.