Настройка PgBouncer

ПРИМЕЧАНИЕ
PgBouncer доступен в версии ADPG Enterprise.

ADPG включает утилиту PgBouncer, которая управляет пулом соединений. Стороннее приложение может подключиться к PgBouncer как к серверу ADPG, и PgBouncer создаст соединение с сервером ADPG или повторно использует одно из существующих подключений. PgBouncer предназначен для снижения издержек, связанных с установкой новых подключений к ADPG.

Для того чтобы включить PgBouncer и настроить параметры его конфигурации, откройте вкладку Services кластера ADPG и выберите сервис ADPG. На вкладке Primary Configuration переведите в активное состояние переключатель Enable PgBouncer. Когда этот переключатель активен, вы можете развернуть соответствующую ноду и указать необходимые настройки PgBouncer.

Настройки PgBouncer
Настройки PgBouncer

Все доступные настройки перечислены в таблице ниже.

Параметр Описание Значение по умолчанию

listen_port

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

15432

pool_mode

Указывает, когда соединение с сервером может быть повторно использовано другими клиентами. Может содержать следующие значения:

  • session — сервер возвращается в пул после отключения клиента.

  • transaction — сервер возвращается в пул после завершения транзакции.

  • statement — сервер возвращается в пул после завершения запроса. В этом режиме запрещены транзакции, включающие несколько операторов.

session

max_client_conn

Максимально разрешенное количество клиентских подключений

100

default_pool_size

Количество подключений к серверу, разрешенное для каждой пары пользователь/база данных

20

min_pool_size

Минимальное количество подключений к серверу, которое должно находиться в пуле

0

reserve_pool_size

Количество дополнительных подключений, разрешенных для пула, если клиентское соединение превышает время, указанное в опции reserve_pool_timeout

0

reserve_pool_timeout

Если клиенту необходимо ждать дольше указанного времени в секундах, используются дополнительные соединения из reserve_pool_size

5

max_db_connections

Максимальное количество подключений к серверу для базы данных

0

max_user_connections

Максимальное количество подключений к серверу для пользователя

0

Enable all users

Если эта опция включена, разрешается доступ всем пользователям с аутентификацией по паролю. Если опция отключена, необходимо указать имена пользователей в параметре Users list, чтобы разрешить этим пользователям доступ к ADPG с помощью PgBouncer

Enabled

Users list

Список пользователей, которым разрешен доступ к ADPG с помощью PgBouncer, когда опция Enable all users отключена. Например: postgres,user1

Empty

Enable all databases

Если эта опция включена, разрешается доступ ко всем существующим базам данных через PgBouncer. Если опция отключена, необходимо указать имена баз данных в параметре Databases list, чтобы разрешить доступ к этим базам данных с помощью PgBouncer

Enabled

Databases list

Список баз данных, к которым разрешен доступ с помощью PgBouncer, когда опция Enable all databases отключена. Имеет тот же синтаксис, что и секция PgBouncer databases. Например, postgres = host=localhost port=5432

Empty

Use custom pg_hba.conf

Если эта опция отключена, для PgBouncer используется основная секция PG_HBA сервиса ADPG. Если опция включена, необходимо указать настройки для PgBouncer в параметре Custom pg_hba.conf. В этом случае PgBouncer будет использовать настройки из Custom pg_hba.conf

Disabled

Custom pg_hba.conf

Пользовательская секция pg_hba.conf для PgBouncer

Empty

Для того чтобы применить новые значения, кликните Save и выполните действие Reconfigure & Restart сервиса ADPG.

Чтобы мониторинг PgBouncer работал правильно, необходимо выполнить действие кластера Reconfigure Monitoring Agents после изменения настроек из секции конфигурации Enable pgbouncer.

В ADPG PgBouncer использует клиентскую аутентификацию hba. Если опция Use custom pg_hba.conf отключена, фактический тип аутентификации загружается из файла pg_hba.conf. Если включен параметр Use custom pg_hba.conf, используются настройки из Custom pg_hba.conf.

По умолчанию опция Enable all users включена. Она обеспечивает доступ всем пользователям с аутентификацией по паролю. Вы можете отключить эту опцию и указать список пользователей, которым разрешен доступ к ADPG с помощью PgBouncer, в параметре Users list.

Опция Enable all databases позволяет получить доступ ко всем существующим базам данных с помощью PgBouncer. Вы можете отключить эту опцию и указать список баз данных, к которым разрешен доступ с помощью PgBouncer, в параметре Databases list.

Если сервис Balancer не добавлен в кластер, все клиентские запросы должны отправляться на listen_port утилиты PgBouncer как на нодах-лидерах, так и на нодах-репликах.

Если кластер ADPG использует сервис Balancer, соединения с нодой-лидером должны отправляться на порт балансировщика, указанный в параметре pgbouncer_leader_port сервиса Balancer. Все подключения к этому порту передаются в экземпляр PgBouncer ноды-лидера ADPG. Значение по умолчанию pgbouncer_leader_port — 16432. Соединения с нодами-репликами должны отправляться на порт балансировщика, указанный в параметре pgbouncer_replica_port сервиса Balancer. Все подключения к этому порту передаются экземплярам PgBouncer нод-реплик ADPG. Значение по умолчанию pgbouncer_replica_port — 16433.

Чтобы изменить параметры pgbouncer_leader_port и pgbouncer_replica_port, откройте вкладку Services кластера ADPG и выберите сервис Balancer. Укажите параметры на вкладке Primary configuration.

Настройки сервиса Balancer
Настройки сервиса Balancer

После указания настроек кликните Save и выполните действие Reconfigure & Restart сервиса Balancer, чтобы применить изменения.

Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней