Использование команды pgbouncer
Синтаксис
pgbouncer [-d][-R][-v][-u user] <pgbouncer.ini>
pgbouncer -V|-h
Параметры для Windows:
pgbouncer.exe [-v][-u user] <pgbouncer.ini>
pgbouncer.exe -V|-h
Дополнительные параметры для настройки службы Windows:
pgbouncer.exe --regservice <pgbouncer.ini>
pgbouncer.exe --unregservice <pgbouncer.ini>
Описание
PgBouncer — менеджер пула соединений PostgreSQL. Любое клиентское приложение может подключаться к PgBouncer как к серверу PostgreSQL, а PgBouncer создаст соединение с настоящим сервером либо повторно использует одно из существующих соединений.
Цель PgBouncer — уменьшить влияние открытия новых соединений с PostgreSQL на производительность.
Чтобы объединение соединений в пул не нарушало семантику транзакций, PgBouncer поддерживает несколько режимов пула при перераспределении соединений:
- Сеансовый режим пула
Наиболее щадящий метод. При подключении клиента ему назначается серверное соединение на всё время клиентского соединения. После отключения клиента серверное соединение возвращается в пул. Это режим по умолчанию.
- Транзакционный режим пула
Серверное соединение назначается клиенту только на время транзакции. Когда PgBouncer определяет завершение транзакции, серверное соединение возвращается в пул.
- Режим пула на уровне операторов
Наиболее строгий метод. Серверное соединение возвращается в пул сразу после завершения запроса. В этом режиме запрещены транзакции из нескольких операторов, поскольку они работать не будут.
Административный интерфейс PgBouncer состоит из дополнительных команд
SHOW, доступных при подключении к специальной «виртуальной» базе данных
pgbouncer.
Быстрый запуск
Базовая настройка и использование выполняются следующим образом.
Создайте файл pgbouncer.ini. Подробности приведены в pgbouncer(5). Простой пример:
[databases] template1 = host=localhost port=5432 dbname=template1 [pgbouncer] listen_port = 6432 listen_addr = localhost auth_type = md5 auth_file = userlist.txt logfile = pgbouncer.log pidfile = pgbouncer.pid admin_users = someuserСоздайте файл
userlist.txtс пользователями, которым разрешён вход:"someuser" "same_password_as_in_server"Запустите PgBouncer:
$ pgbouncer -d pgbouncer.iniПодключите приложение или клиент psql к PgBouncer, а не напрямую к серверу PostgreSQL:
$ psql -p 6432 -U someuser template1Для управления PgBouncer подключитесь к специальной административной базе данных pgbouncer и сначала выполните
SHOW HELP;:$ psql -p 6432 -U someuser pgbouncer pgbouncer=# SHOW HELP; NOTICE: Console usage DETAIL: SHOW [HELP|CONFIG|DATABASES|FDS|POOLS|CLIENTS|SERVERS|SOCKETS|LISTS|VERSION|...] SET key = arg RELOAD PAUSE SUSPEND RESUME SHUTDOWN [...]После изменения файла pgbouncer.ini перезагрузите его командой:
pgbouncer=# RELOAD;
Ключи командной строки
-d,--daemon- Запустить в фоновом режиме. Без этого ключа процесс работает на переднем плане.
В режиме демона обязательно задать
pidfile, а такжеlogfileилиsyslog. После перехода в фоновый режим сообщения журнала не записываются в stderr.Примечание: в Windows этот ключ не работает; там PgBouncer должен быть запущен как служба.
-R,--reboot- УСТАРЕЛ: вместо этого параметра используйте поэтапный перезапуск нескольких процессов PgBouncer, прослушивающих один порт с помощью so_reuseport.
Выполнить перезапуск без остановки обслуживания: подключиться к работающему
процессу, получить от него открытые сокеты и использовать их. Если активного
процесса нет, выполняется обычный запуск.
Примечание: работает только при поддержке Unix-сокетов операционной системой
и включённом в конфигурации
unix_socket_dir. Не работает в Windows и с соединениями TLS — они разрываются. -uUSERNAME,--user=USERNAME- При запуске переключиться на указанного пользователя.
-v,--verbose- Увеличить подробность вывода. Можно указывать несколько раз.
-q,--quiet- Не записывать журнал в stderr. Это не влияет на подробность ведения журнала, а лишь запрещает использование stderr. Предназначено для сценариев init.d.
-V,--version- Показать версию.
-h,--help- Показать краткую справку.
--regservice- Win32: зарегистрировать PgBouncer как службу Windows. В качестве имени регистрации используется значение параметра конфигурации service_name.
--unregservice- Win32: отменить регистрацию службы Windows.
Административная консоль
Консоль доступна при обычном подключении к базе данных pgbouncer:
$ psql -p 6432 pgbouncer
Вход в консоль разрешён только пользователям, перечисленным в параметрах
конфигурации admin_users или stats_users. Исключение — auth_type=any:
в этом случае любой пользователь допускается как stats_user.
Кроме того, пользователь pgbouncer может войти без пароля, если подключение выполняется через Unix-сокет, а UID пользователя Unix у клиента совпадает с UID работающего процесса.
Сейчас административная консоль поддерживает только простой протокол запросов. Некоторые драйверы используют расширенный протокол для всех команд; с консолью они работать не будут.
Команды SHOW
Команды SHOW выводят сведения. Каждая команда описана ниже.
SHOW STATS
Показывает статистику. В этой и связанных командах итоговые значения считаются
с момента запуска процесса, а средние обновляются каждые stats_period.
- database
- Статистика представлена по каждой базе данных.
- total_xact_count
- Общее число транзакций SQL, обработанных пулом PgBouncer.
- total_query_count
- Общее число команд SQL, обработанных пулом PgBouncer.
- total_server_assignment_count
- Общее число назначений сервера клиенту.
- total_received
- Общий объём сетевого трафика в байтах, полученного PgBouncer.
- total_sent
- Общий объём сетевого трафика в байтах, отправленного PgBouncer.
- total_xact_time
- Общее число микросекунд, проведённых PgBouncer в соединении с PostgreSQL внутри транзакции — в состоянии ожидания либо при выполнении запросов.
- total_query_time
- Общее число микросекунд, проведённых PgBouncer в активном соединении с PostgreSQL при выполнении запросов.
- total_wait_time
- Время ожидания сервера клиентами в микросекундах. Обновляется при назначении клиентскому соединению соединения с бэкендом.
- total_client_parse_count
- Общее число подготовленных операторов, созданных клиентами. Применимо только
в режиме отслеживания именованных подготовленных операторов; см.
max_prepared_statements. - total_server_parse_count
- Общее число подготовленных операторов, созданных PgBouncer на сервере.
Применимо только в режиме отслеживания именованных подготовленных операторов;
см.
max_prepared_statements. - total_bind_count
- Общее число подготовленных операторов, которые клиенты подготовили к выполнению,
а PgBouncer передал PostgreSQL. Применимо только в режиме отслеживания
именованных подготовленных операторов; см.
max_prepared_statements. - avg_xact_count
- Среднее число транзакций в секунду за последний период статистики.
- avg_query_count
- Среднее число запросов в секунду за последний период статистики.
- avg_server_assignment_count
- Среднее число назначений сервера клиенту в секунду за последний период статистики.
- avg_recv
- Среднее число байтов, полученных от клиентов за секунду.
- avg_sent
- Среднее число байтов, отправленных клиентам за секунду.
- avg_xact_time
- Средняя длительность транзакции в микросекундах.
- avg_query_time
- Средняя длительность запроса в микросекундах.
- avg_wait_time
- Время ожидания сервера клиентами в микросекундах — среднее время ожидания
клиентов, которым в текущем
stats_periodназначен бэкенд. - avg_client_parse_count
- Среднее число подготовленных операторов, созданных клиентами. Применимо
только в режиме отслеживания именованных подготовленных операторов; см.
max_prepared_statements. - avg_server_parse_count
- Среднее число подготовленных операторов, созданных PgBouncer на сервере.
Применимо только в режиме отслеживания именованных подготовленных операторов;
см.
max_prepared_statements. - avg_bind_count
- Среднее число подготовленных операторов, которые клиенты подготовили к
выполнению, а PgBouncer передал PostgreSQL. Применимо только в режиме
отслеживания именованных подготовленных операторов; см.
max_prepared_statements.
SHOW STATS_TOTALS
Подмножество SHOW STATS, отображающее итоговые значения (total_).
SHOW STATS_AVERAGES
Подмножество SHOW STATS, отображающее средние значения (avg_).
SHOW TOTALS
Аналог SHOW STATS с агрегированием по всем базам данных.
SHOW SERVERS
- type
- S — сервер.
- user
- Имя пользователя, от которого PgBouncer подключается к серверу.
- database
- Имя базы данных.
- replication
- Использует ли серверное соединение репликацию. Возможные значения: none, logical или physical.
- state
- Состояние серверного соединения PgBouncer: active, idle, used, tested, new, active_cancel или being_canceled.
- addr
- IP-адрес сервера PostgreSQL.
- port
- Порт сервера PostgreSQL.
- local_addr
- Начальный адрес соединения на локальном компьютере.
- local_port
- Начальный порт соединения на локальном компьютере.
- connect_time
- Время установления соединения.
- request_time
- Время отправки последнего запроса.
- wait
- Для серверных соединений не используется.
- wait_us
- Для серверных соединений не используется.
- close_needed
- 1, если соединение будет закрыто при первой возможности, поскольку перезагрузка файла конфигурации или обновление DNS изменили сведения о соединении либо была выполнена команда RECONNECT.
- ptr
- Адрес внутреннего объекта этого соединения.
- link
- Адрес клиентского соединения, связанного с сервером.
- remote_pid
- PID серверного процесса бэкенда. Если соединение установлено через Unix-сокет и операционная система поддерживает получение идентификатора процесса, это PID ОС. В противном случае он извлекается из отправленного сервером пакета отмены: для сервера PostgreSQL это должен быть PID, а для другого PgBouncer — случайное число.
- tls
- Строка со сведениями о соединении TLS либо пустая строка, если TLS не используется.
- application_name
- Строка со значением
application_name, заданным в связанном клиентском соединении; пустая строка, если значение не задано или связанного соединения нет. - prepared_statements
- Число подготовленных на сервере операторов. Оно ограничено параметром
max_prepared_statements. - id
- Уникальный идентификатор сервера.
SHOW CLIENTS
- type
- C — клиент.
- user
- Пользователь подключённого клиента.
- database
- Имя базы данных.
- replication
- Использует ли клиентское соединение репликацию. Возможные значения: none, logical или physical.
- state
- Состояние клиентского соединения: active (клиентские соединения, связанные с серверными), idle (клиентские соединения без ожидающих обработки запросов), waiting, active_cancel_req или waiting_cancel_req.
- addr
- IP-адрес клиента.
- port
- Исходный порт клиента.
- local_addr
- Конечный адрес соединения на локальном компьютере.
- local_port
- Конечный порт соединения на локальном компьютере.
- connect_time
- Отметка времени установления соединения.
- request_time
- Отметка времени последнего запроса клиента.
- wait
- Текущее время ожидания в секундах.
- wait_us
- Микросекундная часть текущего времени ожидания.
- close_needed
- Для клиентов не используется.
- ptr
- Адрес внутреннего объекта этого соединения.
- link
- Адрес серверного соединения, связанного с клиентом.
- remote_pid
- Идентификатор процесса, если клиент подключается через Unix-сокет и операционная система поддерживает его получение.
- tls
- Строка со сведениями о соединении TLS либо пустая строка, если TLS не используется.
- application_name
- Строка со значением
application_name, заданным клиентом для этого соединения, либо пустая строка, если значение не задано. - prepared_statements
- Число подготовленных клиентом операторов.
- id
- Уникальный идентификатор клиента.
SHOW POOLS
Для каждой пары (база данных, пользователь) создаётся отдельная запись пула.
- database
- Имя базы данных.
- user
- Имя пользователя.
- cl_active
- Клиентские соединения, связанные с серверными, либо неактивные клиентские соединения без запросов, ожидающих обработки.
- cl_waiting
- Клиентские соединения, отправившие запросы, но ещё не получившие серверного соединения.
- cl_active_cancel_req
- Клиентские соединения, передавшие серверу запросы отмены и ожидающие ответа сервера.
- cl_waiting_cancel_req
- Клиентские соединения, которые ещё не передали серверу запросы отмены.
- sv_active
- Серверные соединения, связанные с клиентом.
- sv_active_cancel
- Серверные соединения, которые сейчас передают запрос отмены.
- sv_being_canceled
- Серверы, которые обычно могли бы перейти в состояние ожидания, но ждут завершения всех выполняющихся запросов отмены, отправленных для отмены запроса на этом сервере.
- sv_idle
- Неиспользуемые серверные соединения, немедленно доступные для клиентских запросов.
- sv_used
- Серверные соединения, остававшиеся неактивными дольше
server_check_delay; перед повторным использованием на них необходимо выполнитьserver_check_query. - sv_tested
- Серверные соединения, на которых сейчас выполняется
server_reset_queryилиserver_check_query. - sv_login
- Серверные соединения, в которых сейчас выполняется вход.
- maxwait
- Время ожидания первого, самого старого клиента в очереди, в секундах. Рост этого значения означает, что текущий пул серверов обрабатывает запросы недостаточно быстро. Причиной может быть перегруженный сервер или слишком малое значение pool_size.
- maxwait_us
- Микросекундная часть максимального времени ожидания.
- pool_mode
- Используемый режим пула.
- load_balance_hosts
- Используемое значение load_balance_hosts, если узел пула содержит список через запятую.
SHOW PEER_POOLS
Для каждого настроенного однорангового узла создаётся отдельная запись peer_pool.
- database
- Идентификатор настроенной записи peer.
- cl_active_cancel_req
- Клиентские соединения, передавшие серверу запросы отмены и ожидающие ответа сервера.
- cl_waiting_cancel_req
- Клиентские соединения, которые ещё не передали серверу запросы отмены.
- sv_active_cancel
- Серверные соединения, которые сейчас передают запрос отмены.
- sv_login
- Серверные соединения, в которых сейчас выполняется вход.
SHOW LISTS
Показывает следующие внутренние сведения в столбцах, а не в строках:
- databases
- Число баз данных.
- users
- Число пользователей.
- pools
- Число пулов.
- free_clients
- Число свободных клиентов. Эти клиенты отключены, но PgBouncer сохраняет выделенную для них память, чтобы повторно использовать её для будущих клиентов и избежать новых выделений.
- used_clients
- Число используемых клиентов.
- login_clients
- Число клиентов в состоянии login.
- free_servers
- Число свободных серверов. Эти серверы отключены, но PgBouncer сохраняет выделенную для них память, чтобы повторно использовать её для будущих серверов и избежать новых выделений.
- used_servers
- Число используемых серверов.
- dns_names
- Число имён DNS в кэше.
- dns_zones
- Число зон DNS в кэше.
- dns_queries
- Число выполняющихся запросов DNS.
- dns_pending
- Не используется.
SHOW USERS
- name
- Имя пользователя.
- pool_size
- Переопределённое пользователем значение pool_size либо NULL, если оно не задано.
- reserve_pool_size
- Переопределённое пользователем значение reserve_pool_size либо NULL, если оно не задано.
- pool_mode
- Переопределённое пользователем значение pool_mode либо NULL, если оно не задано.
- max_user_connections
- Значение max_user_connections пользователя. Если оно не задано для этого пользователя, отображается значение по умолчанию.
- current_connections
- Текущее число серверных соединений этого пользователя со всеми серверами.
- max_user_client_connections
- Значение max_user_client_connections пользователя. Если оно не задано для этого пользователя, отображается значение по умолчанию.
- current_client_connections
- Текущее число клиентских соединений этого пользователя с PgBouncer.
SHOW DATABASES
- name
- Имя настроенной записи базы данных.
- host
- Узел, к которому подключается PgBouncer.
- port
- Порт, к которому подключается PgBouncer.
- database
- Фактическое имя базы данных, к которой подключается PgBouncer.
- force_user
- Если пользователь входит в строку соединения, соединение между PgBouncer и PostgreSQL принудительно устанавливается от указанного пользователя независимо от пользователя клиента.
- pool_size
- Максимальное число серверных соединений.
- min_pool_size
- Минимальное число серверных соединений.
- reserve_pool_size
- Максимальное число дополнительных соединений для этой базы данных.
- server_lifetime
- Максимальное время существования серверного соединения для этой базы данных.
- pool_mode
- Переопределённое базой данных значение pool_mode либо NULL, если используется значение по умолчанию.
- load_balance_hosts
- Значение load_balance_hosts базы данных, если узел содержит список через запятую.
- max_connections
- Максимальное разрешённое число серверных соединений для этой базы данных, заданное max_db_connections глобально или для конкретной базы.
- current_connections
- Текущее число серверных соединений для этой базы данных.
- max_client_connections
- Максимальное разрешённое число клиентских соединений для этого экземпляра PgBouncer, заданное max_db_client_connections для базы данных.
- current_client_connections
- Текущее число клиентских соединений для этой базы данных.
- paused
- 1, если база данных сейчас приостановлена, иначе 0.
- disabled
- 1, если база данных сейчас отключена, иначе 0.
SHOW PEERS
- peer_id
- Идентификатор настроенной записи peer.
- host
- Узел, к которому подключается PgBouncer.
- port
- Порт, к которому подключается PgBouncer.
- pool_size
- Максимальное число серверных соединений с этим одноранговым узлом.
SHOW FDS
Внутренняя команда: показывает список используемых файловых дескрипторов с привязанным к ним внутренним состоянием.
Если подключённый пользователь имеет имя «pgbouncer», подключается через Unix-сокет и имеет тот же UID, что и работающий процесс, по соединению передаются настоящие файловые дескрипторы. Этот механизм используется для перезапуска без остановки обслуживания. Примечание: в Windows он не работает.
Эта команда также блокирует внутренний цикл событий, поэтому её не следует использовать во время работы PgBouncer.
- fd
- Числовое значение файлового дескриптора.
- task
- Одно из значений: pooler, client или server.
- user
- Пользователь соединения, использующего файловый дескриптор.
- database
- База данных соединения, использующего файловый дескриптор.
- addr
- IP-адрес соединения, использующего файловый дескриптор, либо unix при использовании Unix-сокета.
- port
- Порт соединения, использующего файловый дескриптор.
- cancel
- Ключ отмены для этого соединения.
- link
- fd соответствующего сервера/клиента; NULL в состоянии ожидания.
SHOW SOCKETS, SHOW ACTIVE_SOCKETS
Показывает низкоуровневые сведения обо всех или только активных сокетах. Включает сведения из SHOW CLIENTS и SHOW SERVERS, а также дополнительные низкоуровневые данные.
SHOW CONFIG
Показывает текущие параметры конфигурации, по одному в строке, со следующими столбцами:
- key
- Имя переменной конфигурации.
- value
- Значение конфигурации.
- default
- Значение конфигурации по умолчанию.
- changeable
- yes или no — можно ли изменить переменную во время работы. При no переменная изменяется только при запуске. Для изменения во время работы используйте SET.
SHOW MEM
Показывает низкоуровневые сведения о текущих размерах различных внутренних областей выделенной памяти. Представленные сведения могут изменяться.
SHOW DNS_HOSTS
Показывает имена узлов в кэше DNS.
- hostname
- Имя узла.
- ttl
- Число секунд до следующего поиска.
- addrs
- Список адресов через запятую.
SHOW DNS_ZONES
Показывает зоны DNS в кэше.
- zonename
- Имя зоны.
- serial
- Текущий серийный номер.
- count
- Имена узлов, принадлежащие этой зоне.
SHOW VERSION
Показывает строку версии PgBouncer.
SHOW STATE
Показывает параметры состояния PgBouncer. Текущие состояния: active, paused и suspended.
Команды управления процессом
PAUSE [db]
PgBouncer пытается отключиться от всех серверов. Перед отключением каждого серверного соединения PgBouncer ждёт его освобождения в соответствии с режимом пула: в транзакционном режиме должна завершиться транзакция, в режиме на уровне операторов — оператор, а в сеансовом режиме должен отключиться клиент. Команда не завершится, пока не будут разорваны все серверные соединения. Используйте её при перезапуске базы данных.
Если указано имя базы данных, приостанавливается только она.
Новые клиентские соединения с приостановленной базой данных будут ждать вызова RESUME.
DISABLE db
Отклонить все новые клиентские соединения с указанной базой данных.
ENABLE db
Разрешить новые клиентские соединения после предыдущей команды DISABLE.
RECONNECT [db]
Закрыть каждое открытое серверное соединение указанной базы данных или всех баз после его освобождения в соответствии с режимом пула, даже если срок его существования ещё не истёк. Новые серверные соединения можно создавать сразу; они будут устанавливаться по мере необходимости согласно параметрам размера пула.
Эта команда полезна при изменении настройки серверного соединения, например для постепенного планового переключения на новый сервер. Выполнять её не нужно, если строка соединения в pgbouncer.ini была изменена и перезагружена (см. RELOAD) или изменилось разрешение DNS: в таких случаях эквивалентная команда выполняется автоматически. Команда необходима только тогда, когда соединения маршрутизирует компонент ниже PgBouncer.
После выполнения команды может долго сохраняться состояние, при котором часть серверных соединений направляется к старому назначению, а часть — к новому. Обычно это имеет смысл лишь при переключении трафика только для чтения между репликами только для чтения или между узлами мультимастерной репликации. Если все соединения необходимо переключить одновременно, рекомендуется PAUSE. Для немедленного закрытия серверных соединений без ожидания, например при аварийном, а не постепенном плановом переключении, рассмотрите KILL.
KILL [db]
Немедленно разорвать все клиентские и серверные соединения с указанной базой данных или со всеми базами, кроме административной.
Новые клиентские соединения с остановленной базой данных будут ждать вызова RESUME.
KILL_CLIENT id
Немедленно закрыть указанное клиентское соединение и все серверные соединения
этого клиента. Клиент определяется по значению id, которое можно найти
командой SHOW CLIENTS.
Пример команды: KILL_CLIENT 1234.
SUSPEND
Все буферы сокетов сбрасываются, и PgBouncer прекращает принимать из них данные. Команда не завершится, пока все буферы не опустеют. Используйте её при перезапуске PgBouncer без остановки обслуживания.
Новые клиентские соединения с приостановленной базой данных будут ждать вызова RESUME.
RESUME [db]
Возобновить работу после предыдущей команды KILL, PAUSE или SUSPEND.
SHUTDOWN
Процесс PgBouncer завершится.
SHUTDOWN WAIT_FOR_SERVERS
Прекратить принимать новые соединения и завершить работу после освобождения всех серверов. По сути, это равнозначно выполнению PAUSE и SHUTDOWN, но во время ожидания PAUSE также прекращается приём новых соединений и сразу отключаются клиенты, ожидающие серверного соединения. Обратите внимание: во время завершения работы UNIX-сокеты останутся открыты, но будут принимать только подключения к административной консоли PgBouncer.
SHUTDOWN WAIT_FOR_CLIENTS
Прекратить принимать новые соединения и завершить процесс после отключения всех существующих клиентов. Обратите внимание: во время завершения работы UNIX-сокеты останутся открыты, но будут принимать только подключения к административной консоли PgBouncer. Эту команду можно использовать для поэтапного перезапуска двух процессов PgBouncer без простоя по следующей процедуре:
- Запустите два или более процессов PgBouncer на одном порту с использованием
so_reuseport(настройка одноранговых узлов рекомендуется, но не обязательна). Для перезапуска без простоя процессы перезапускаются по одному: остальные продолжают принимать соединения, пока один процесс перезапускается. - Выберите первый процесс для перезапуска и назовите его A.
- Выполните для процесса A
SHUTDOWN WAIT_FOR_CLIENTSили отправьтеSIGTERM. - Заставьте всех клиентов переподключиться. Можно дождаться, пока клиентский
пул инициирует переподключение из-за
server_idle_timeoutили аналогичного параметра. Если клиентский пул не используется, можно перезапустить клиентов. После переподключения всех клиентов процесс A завершится автоматически, поскольку к нему больше никто не подключён. - Снова запустите процесс A.
- Повторите шаги 3, 4 и 5 по очереди для каждого оставшегося процесса, пока не перезапустите их все.
RELOAD
Процесс PgBouncer перезагрузит файлы конфигурации и обновит изменяемые параметры.
Это относится к основному файлу конфигурации, а также к файлам, указанным
параметрами auth_file и auth_hba_file.
PgBouncer обнаруживает изменение параметров соединения в определении базы данных после перезагрузки файла конфигурации. Существующее серверное соединение со старым назначением закроется при следующем освобождении согласно режиму пула, а новые серверные соединения сразу будут использовать обновлённые параметры.
WAIT_CLOSE [db]
Ждать, пока все серверные соединения указанной базы данных или всех баз не выйдут из состояния “close_needed” (см. SHOW SERVERS). Команду можно вызвать после RECONNECT или RELOAD, чтобы дождаться полного применения соответствующего изменения конфигурации, например в сценариях планового переключения.
Другие команды
SET key = arg
Изменяет параметр конфигурации (см. также SHOW CONFIG). Например:
SET log_connections = 1;
SET server_check_query = 'select 2';
(Обратите внимание: эта команда выполняется в административной консоли PgBouncer и задаёт параметры PgBouncer. Команда SET, выполненная в другой базе данных, передаётся бэкенду PostgreSQL как любая другая команда SQL.)
Сигналы
- SIGHUP
- Перезагрузить конфигурацию. Равнозначно команде RELOAD в консоли.
- SIGTERM
- Сверхбезопасное завершение работы. Дождаться отключения всех существующих клиентов, не принимая новые соединения. Равнозначно команде SHUTDOWN WAIT_FOR_CLIENTS в консоли. Если сигнал получен во время уже выполняющегося завершения работы, вместо «сверхбезопасного завершения» запускается «немедленное завершение». В версиях PgBouncer до 1.23.0 этот сигнал вызывал «немедленное завершение».
- SIGINT
- Безопасное завершение работы. Равнозначно команде SHUTDOWN WAIT_FOR_SERVERS в консоли. Если сигнал получен во время уже выполняющегося завершения, вместо «безопасного завершения» запускается «немедленное завершение».
- SIGQUIT
- Немедленное завершение работы. Равнозначно команде SHUTDOWN в консоли.
- SIGUSR1
- Равнозначно команде PAUSE в консоли.
- SIGUSR2
- Равнозначно команде RESUME в консоли.
Параметры Libevent
Из документации Libevent:
Поддержку epoll, kqueue, devpoll, poll или select можно отключить, задав переменную окружения EVENT_NOEPOLL, EVENT_NOKQUEUE, EVENT_NODEVPOLL, EVENT_NOPOLL или EVENT_NOSELECT, соответственно.
Если задать переменную окружения EVENT_SHOW_METHOD, libevent выведет используемый метод уведомлений ядра.
См. также
pgbouncer(5) — страница man с описанием параметров конфигурации.