
### PgBouncer "K"
###
### Copyright (C) ООО Кейсистемс 2025
###
### Версия 1.25.1

 Общая информация:

 PgBouncer "К"   - платформа для развертывания пуллера соединений - PgBouncer
                   посредством использования ПО контейнеризации.

 PgBouncer       — программа, позволяющая создавать и управлять пулом соединений СУБД PostgreSQL.
                   Конечное приложение подключается непосредственно к пуллеру pgbouncer, который в свою очередь
                   подключается к серверу СУБД, либо через создание нового соединения, либо через использование
                   уже существующего свободного соединения в своем пуле.

 Цель использования - минимизировать издержки, связанные с созданием новых подключений к PostgreSQL.

 Данная инструкция описывает пример контейнера PgBouncer, развернутого по порту 6434.

 ВНИМАНИЕ! Для выполнения операции необходимы права суперпользователя.

 После создания экземпляра контейнера с помощью платформы PgBouncer "K" получаем следующее:

 1) Контейнер с именем pgbouncer-1.25.1_6434
    (посмотреть можно командой $ docker/podman ps -a)
     где,
      - pgbouncer   -> наименование пуллера
      - 1.25.1      -> версия <>.<>.<>
      - 6434        -> идентификатор контейнера и одновременно номер рабочего порта

 2) Каталог развернутого приложения:

    /opt/pgbouncer-1.25.1_6434
        |-- /.ssh                                                     -- служебный каталог для ssh сервера
        |-- /conf.d                                                   -- каталог конфигурационных файлов
              |-- auth_user.ini                                       -- конфигурационный файл пользователя пуллера
              |-- pgbouncer_db.ini                                    -- конфигурационный сервера СУБД
              |-- pgbouncer_main.ini                                  -- основной конфигурационный файл
              |-- pgbouncer_port.ini                                  -- конфигурационный файл портов

        |-- /ctl                                                      -- каталог управляющих файлов
              |-- /sys                                                -- каталог системных файлов
              |-- COPYRIGHT                                           -- файл лицензии
              |-- bash.sh                                             -- файл запуска консоли bash
              |-- pgb_promote.sh                                      -- файл включения режима "fencing" в составе ОУК
              |-- pgb_ssh.sh                                          -- файл запуска ssh сервера в составе ОУК
              |-- info.sh                                             -- скрипт просмотра запущенных процессов
              |-- pgb_const_var.sh                                    -- вспомогательный файл констант
              |-- pgbouncer_to_run                                    -- файл, количества процессов
              |-- psql.sh                                             -- скрипт запуска команд консоли управления
              |-- readme.txt                                          -- описание
              |-- start.sh                                            -- скрипт запуска пуллера
              |-- stop.sh                                             -- скрипт остановки пуллера

        |-- /log                                                      -- каталог логов работы пуллера
              |-- pgbouncer_1.log
              ......
              |-- pgbouncer_16.log


 3) Файл в структуре systemd, который обеспечивает автоматический запуск контейнера и приложений, после перезапуска хоста.
    /lib/systemd/system/pgbouncer-1.25.1_6434.service



 Основные команды управления экземпляром развернутого приложения:

 1) Запуск
     $ systemctl start pgbouncer-1.25.1_6434.service


 2) Остановка
     $ systemctl stop pgbouncer-1.25.1_6434.service

 3) Просмотр запущенных процессов

     $ /opt/pgbouncer-1.25.1_6434/ctl/info.sh


 4) Запуск команд консоли управления и получение различного рода статистики и информации:

    $ /opt/pgbouncer-1.25.1_6434/ctl/psql_pgb.sh "SHOW CONFIG"


     Дополнительная информация:

    - Для ОС поддерживающих опцию SO_REUSEPORT, возможно увеличение производительности работы пуллера
      за счет мультизапуска процессов (до 16) и предоставления самому ядру ОС возможности распределения
      и балансировки нагрузки между запущенными процессами. Это позволяет перейти от однопроцессорного
      окружения к мультипроцессорному.
      Для это необходимо обновить конфигурацию развернутого по порту экзепляра пуллера с помощью команды:

      $ /opt/dks-pgbouncer-1.25.1/sh/dks_update.sh "6434" "count" "8"

      и выполнить перезагрузку пуллера:
      $ systemctl restart pgbouncer-1.25.1_6434.service




















