Перейти к основному содержимому

Описание поставляемых rpm/deb-пакетов

Сведения

Полный список элементов дистрибутива приведен в разделе«Состав дистрибутива» данного документа.

Содержание

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

Поставляемые rpm/deb-пакеты упрощают распространение, управление и обновление программного обеспечения.

Необходимо использовать только стандартные средства управления пакетами (dnf, yum, apt или apt-get) для установки, переустановки, удаления, обновления и проверки rpm/deb-пакетов. При работе с данными пакетными менеджерами все зависимости (как внутренние, так и внешние) будут установлены автоматически.

Основные rpm/deb-пакеты

Основные rpm/deb-пакеты поставляемые в owned-части:

  • pangolin-dbms

  • pangolin-dbms-client

  • pangolin-manager

    • pangolin-manager-venv
  • pangolin-pooler

  • pangolin-pooler-mt

  • pangolin-backup-tools

    • pangolin-backup-tools-venv
Подсказка

При установке данных пакетов, будут созданы системные пользователи (при их отсутствии): postgres с uid/gid: 26 и kmadmin_pg с uid/gid: 126. При возникновении конфликтов идентификаторов создаваемых пользователей обратитесь к разделу «Часто встречающиеся проблемы и пути их устранения».

Версии основных пакетов

Название пакетаВерсия
pangolin-manager2.1.19
pangolin-manager-venv2.1.19
pangolin-backup-tools6.7.6
pangolin-backup-tools-venv6.7.6

Пакеты pangolin-dbms и pangolin-dbms-client

Сведения

Данные пакеты являютсяобязательными к установке при развертывании СУБД Pangolin.

В СУБД Pangolin основной rpm/deb-пакет СУБД разделен на две независимые части — клиентскую (pangolin-dbms-client) и серверную (pangolin-dbms), обе из которых доступны пользователю после установки.

Особенности

Пользователю доступна возможность независимого развертывания клиентской части с удаленным доступом к серверу. Такое разделение упрощает процессы обновления и модификации СУБД Pangolin.

Состав пакетов

В состав клиентского пакета включены следующие утилиты (доступные по пути /usr/pangolin-dbms-client-{short_version}/bin), а также файлы документации и локали, соответствующие им:

  • clusterdb
  • createdb
  • createuser
  • dropdb
  • dropuser
  • pangolin-linker
  • pg_amcheck
  • pg_basebackup
  • pgbench
  • pg_dump
  • pg_dumpall
  • pg_isready
  • pg_receivewal
  • pg_recvlogical
  • pg_restore
  • pg_verifybackup
  • psql
  • reindexdb
  • vacuumdb

В состав серверного пакета включены следующие утилиты (доступные по пути /usr/pangolin-{short_version}/bin), а также файлы документации и локали, соответствующие им и не только:

  • admin_protection_disabler
  • ecpg
  • initdb
  • initprotection
  • oid2name
  • pangolin-linker
  • pg_archivecleanup
  • pg_auth_config
  • pg_checksums
  • pg_config
  • pg_controldata
  • pg_ctl
  • pg_repack
  • pg_resetwal
  • pg_rewind
  • pg_test_fsync
  • pg_test_timing
  • pg_upgrade
  • pg_waldump
  • pkcs12_cert_info
  • postgres
  • postmaster
  • psql_rsa_verify
  • psql_set_lsn
  • secure_config_disabler
  • tde_disabler
  • trace_decode
  • vacuumlo

Дополнительно, при развертывании пакета серверного компонента, создается директория: /etc/pangolin-auth-encryption. Данный каталог будет использоваться при включенной функциональности хранилище паролей.

Установка

Установка данных пакетов происходит на этапе развертывания СУБД, при помощи инструкции ручной пошаговой установки, либо с помощью автоматизированных Ansible-скриптов.

Пути до файлов компонентов

Компоненты имеют следующие пути до системных файлов:

  • Путь развертывания бинарных файлов и библиотек компонентов pangolin-dbms и pangolin-dbms-client в PGHOME/PGHOME_CLIENT :

    /usr/pangolin-{short_version}/
    /usr/pangolin-dbms-client-{short_version}/

    Где {short_version} - короткая версия продукта (текущая: 6.7).

    Также системно создаются символические ссылки на каталог PGHOME на пути:

    /usr/pangolin-dbms-client/
    /usr/pangolin-dbms-client-{base_version}/

    /usr/pangolin/
    /usr/pangolin-{base_version}/

    Где {base_version} - базовая версия продукта (текущая: 6).

  • Сервисный файл серверной части:

    /usr/pangolin-{short_version}/share/postgresql.service

    Для клиентской части отсутствует сервисный файл, так как не подразумевается запуск каких-либо сервисов.

  • Файл с PID процесса компонента серверной части:

    • Без функциональности «Отказ от root»:

      /var/run/postgresql/

      Регулируется конфигурационным параметром unix_socket_directories.

    • С функциональностью «Отказ от root»:

      /var/run/user/{user_id}/postgresql
  • Путь к директории для лог-файлов задается с помощью параметра log_directory. По умолчанию используется:

    /pgerrorlogs/0{base_version}/

Пакет pangolin-manager

Сведения

Данный пакет являетсяобязательным к установке при реализации кластерной конфигурации СУБД Pangolin.

Пакет отвечает за управление компонентом Pangolin Manager, который является оркестратором кластера СУБД Pangolin.

Структура пакета

Пакет pangolin-manager имеет структуру:

/etc/pangolin-manager/
├── postgres.yml
└── postgres.yml.backup
/opt/pangolin-manager/
├── bin
│ ├── get-pangolin-gucs
│ ├── pangolin-dcs-ctl
│ ├── pangolin-manager
│ ├── pangolin-manager-bin
│ │ ├── get-pangolin-gucs.bin
│ │ ├── pangolin-dcs-ctl.bin
│ │ ├── pangolin-manager.bin
│ │ ├── pangolin-manager-ctl.bin
│ │ └── patroni
│ │ └── <...>
│ ├── pangolin-manager-ctl
│ └── pangolin-manager-raft-controller
├── lib
│ ├── <...>
│ └── plugins
│ └── <...>
├── lib64 -> lib
├── log
└── share
├── doc
│ └── logrotate
│ └── pangolin-manager
└── LICENSE

Пути до файлов компонента

Компонент имеет следующие пути до системных файлов:

  • Путь развертывания бинарных файлов и библиотек компонента:

    /opt/pangolin-manager/
  • Сервисный файл:

    /usr/lib/systemd/system/pangolin-manager.service
  • Файл с PID процесса компонента — отсутствует.

  • Файл для ротация файлов логирования компонента:

    /opt/pangolin-manager/share/doc/logrotate/pangolin-manager/
  • Конфигурационные файл компонента:

    /etc/pangolin-manager/postgres.yml
  • Расположение лог-файла компонента:

    /pgerrorlogs/0{base_version}/pangolin-manager/pangolin-manager.log

Установка

Установка данного пакета доступна на этапе развертывания СУБД при помощи автоматизированных Ansible-скриптов, либо в любой момент с помощью инструкции ручной пошаговой установки.

При установке пакета или его обновлении с предыдущей версии выполняется следующее:

  • Исполняемые файлы помещаются в каталог /opt/pangolin-manager/bin/;
  • Создается файл настроек по пути /etc/pangolin-manager/postgres.yml при его отсутствии;
  • Создается сервис pangolin-manager.service при его отсутствии;
  • Создается пользователь postgres с UID=26 по умолчанию (при отсутствии).

Особенности и зависимости

Особенности:

  • Может быть установлена только одна версия Pangolin Manager.
  • Нумерация версии начата с 1.1.0 после переименования с Patroni на Pangolin Manager.
  • При обновлении Patroni на пакет Pangolin Manager бинарные и конфигурационные файлы Patroni не удаляются;
  • Обновление компонента предполагает замену только исполняемых файлов и библиотек с сохранением файла настроек и файла службы.

Компонент имеет зависимость pangolin-manager-venv в виде дополнительного rpm/deb-пакета, поставляемого в 3rd Party части.

Пакет pangolin-manager-venv

Пакет содержит в себе зависимости python для работоспособности компонента pangolin-manager.

Состав пакета

Список pip-пакетов, которые входят в состав компонента:

  • boto - 2.49.0;
  • certifi - 2025.11.12;
  • charset-normalizer - 3.4.4;
  • click - 8.1.8;
  • dnspython - 2.7.0;
  • flake8 - 7.3.0;
  • idna - 3.11;
  • importlib-metadata - 8.7.0;
  • kazoo - 2.8.0;
  • mccabe - 0.7.0;
  • prettytable - 3.0.0;
  • psutil - 7.0.0;
  • psycopg2-binary - 2.9.10;
  • pycodestyle - 2.14.0;
  • pyflakes - 3.4.0;
  • python-dateutil - 2.9.0.post0;
  • python-etcd - 0.4.5;
  • PyYAML - 6.0.3;
  • requests - 2.32.5;
  • semantic-version - 2.9.0;
  • setuptools --rust 1.1.2;
  • six - 1.17.0;
  • typing-extensions - 4.15.0;
  • urllib3 - 2.6.2;
  • wcwidth - 0.2.13;
  • ydiff - 1.2.0;
  • zipp - 3.23.0.

Структура

/opt/pangolin-manager/
└── lib
├── python
│ └── <...>
└── python3 -> python

Установка

Установка компонента pangolin-ansible-manager-venv происходит с помощью автоматизированных Ansible-скриптов, либо вручную при установке компонента Pangolin Manager.

Пакет pangolin-pooler

Сведения

Данный пакетрекомендуется к установке для снижения накладных расходов на установление соединений при наличии их в большом количестве.

Пакет отвечает за управление компонентом Pangolin Pooler, который является менеджером пулов соединений СУБД Pangolin.

Подробное описание компонента представлено в разделе «Администрирование Pangolin Pooler» документа «Руководство администратора».

Структура пакета

Пакет pangolin-pooler имеет структуру:

/etc/pangolin-pooler/
├── pangolin-pooler.ini
└── userlist.txt
/opt/pangolin-pooler
├── bin
│ ├── pangolin-pooler
│ └── pangolin-pooler-restart.sh
└── lib
├── <...>
└── plugins
└── <...>

Пути до файлов компонента

Компонент имеет следующие пути до системных файлов:

  • Путь развертывания бинарных файлов и библиотек компонента:

    /opt/pangolin-pooler/
  • Сервисный файл:

    /usr/lib/systemd/system/pangolin-pooler.service
  • Файл с PID процесса компонента:

    • Без функциональности «Отказ от root»:

      /var/run/pangolin-pooler/pangolin-pooler.pid
    • С функциональностью «Отказ от root»:

      /var/run/user/{user_id}/pangolin-pooler/pangolin-pooler.pid
  • Расположение лог-файла компонента:

    /pgerrorlogs/0{base_version}/pangolin-pooler/pangolin-pooler.log
  • Файл для ротация файлов логирования компонента:

    /opt/pangolin-pooler/share/doc/logrotate/pangolin-pooler/
  • Конфигурационный файл компонента:

    /etc/pangolin-pooler/pangolin-pooler.ini

Установка

Установка данного пакета доступна на этапе развертывания СУБД при помощи автоматизированных Ansible-скриптов, либо в любой момент с помощью инструкции ручной пошаговой установки.

При установке пакета или его обновлении с предыдущей версии выполняется следующее:

  • Исполняемые файлы и библиотеки помещаются в каталог /opt/pangolin-pooler/.
  • Создается файл настроек по пути /etc/pangolin-pooler/pangolin-pooler.ini при его отсутствии.
  • Создается сервис pangolin-pooler.service при его отсутствии.
  • Создается пользователь postgres с UID=26 по умолчанию (при его отсутствии).

Особенности

Особенности:

  • Может быть установлена только одна версия Pangolin Pooler.
  • Нумерация версии начата с 1.1.0 после переименования с PgBouncer на Pangolin Pooler.
  • Обновление компонента предполагает замену только исполняемых файлов и библиотек с сохранением файла настроек и файла службы.

Пакет pangolin-pooler-mt

Пакет отвечает за управление многопоточным компонентом Pangolin Pooler, который является менеджером пулов соединений СУБД Pangolin.

Подробное описание компонента представлено в разделе «Многопоточный Pangolin Pooler» документа «Руководство администратора».

Структура пакета

Пакет pangolin-pooler-mt имеет структуру:

/etc/pangolin-pooler-mt/
├── pangolin-pooler-mt.ini
└── userlist.txt
/opt/pangolin-pooler-mt/
├── bin/
│ ├── pangolin-pooler-mt
│ └── pangolin-pooler-mt-restart.sh
└── lib/
├── <...>
└── plugins
└── <...>

Пути до файлов компонента

Компонент имеет следующие пути до системных файлов:

  • Путь развертывания бинарных файлов и библиотек компонента:

    /opt/pangolin-pooler-mt/
  • Сервисный файл:

    /usr/lib/systemd/system/pangolin-pooler-mt.service
  • Файл с PID процесса компонента:

    • Без функциональности «Отказ от root»:

      /var/run/pangolin-pooler-mt/pangolin-pooler-mt.pid
    • С функциональностью «Отказ от root»:

      /var/run/user/{user_id}/pangolin-pooler-mt/pangolin-pooler-mt.pid
  • Расположение лог-файла компонента:

    /pgerrorlogs/0{base_version}/pangolin-pooler-mt/pangolin-pooler-mt.log
  • Файл для ротация файлов логирования компонента:

    /opt/pangolin-pooler-mt/share/doc/logrotate/pangolin-pooler-mt/
  • Конфигурационный файл компонента:

    /etc/pangolin-pooler-mt/pangolin-pooler-mt.ini

Установка

Установка данного пакета доступна на этапе развертывания СУБД при помощи автоматизированных Ansible-скриптов, либо в любой момент с помощью инструкции ручной установки.

Пакет pangolin-backup-tools

Сведения

Данный пакет являетсяобязательным к установке при необходимости реализации РК.

Компонент Pangolin Backup Tools представляет собой набор утилит и скриптов, позволяющий настроить процесс резервного копирования хранимых в СУБД Pangolin данных. Инструменты резервного копирования поставляемые в составе данного пакета:

  • pg_probackup;
  • manage_backup.bin;
  • manage_backup.sh;
  • pangolin_archlogs.sh.
Примечание

Компонент не является полноценной системой резервного копирования и управления резервными копиями. Предназначен для интеграции с внешними инструментами РК.

Структура пакета

Пакет pangolin-backup-tools имеет структуру:

/etc/pangolin-backup-tools
└── backup-tools-env
/opt/pangolin-backup-tools/
├── bin
│ ├── manage_backup.bin
│ ├── manage_backup.sh
│ ├── pangolin_archlogs.sh
│ └── pg_probackup
├── lib
│ ├── <...>
│ └──plugins
│ └── <...>
├── lib64 -> lib
└── share
├── backup-tools-env.sample
└── LICENSE

Пути до файлов компонента

Утилиты расположены после развертывания пакета по пути:

/opt/pangolin-backup-tools/bin/

Файл конфигурируемой части компонента:

/etc/pangolin-backup-tools/backup-tools-env

В данном файле с помощью переменной окружения PG_FAST_CHECKPOINT можно изменить второй параметр функции pg_backup_start, используемой в manage_backup.bin, который управляет выполнением контрольной точки перед началом резервного копирования.

При значении true перед запуском резервного копирования выполняется принудительный CHECKPOINT, что может привести к кратковременному увеличению нагрузки на подсистему ввода/вывода и замедлению параллельно выполняемых задач.

При значении false (или если параметр не указан в /etc/pangolin-backup-tools/backup-tools-env) используется стандартное поведение PostgreSQL: резервное копирование начинается после завершения ближайшего планового CHECKPOINT, без его принудительного выполнения.

Файл с PID процесса компонента отсутствует, как и фиксация отдельного лог-файла.

Установка

Компонент pangolin-backup-tools устанавливается по умолчанию при первичном развертывании или при обновлении стенда, с помощью автоматизированных скриптов, на котором этого компонента ранее не было.

Описание процесса ручной установки представлено в разделе «Утилита резервного копирования pg_probackup» документа «Руководство администратора».

Компонент имеет зависимость pangolin-backup-tools-venv в виде дополнительного rpm/deb-пакета, поставляемого в 3rd Party части.

Пакет pangolin-backup-tools-venv

Пакет содержит в себе зависимости python для работоспособности компонента pangolin-backup-tools.

Состав пакета

Список pip-пакетов, которые входят в состав компонента:

  • argparse - 1.4.0;
  • certifi - 2025.11.12;
  • charset-normalizer - 3.4.4;
  • docutils - 0.21.2;
  • idna - 3.11;
  • lockfile - 0.12.2;
  • psycopg2-binary - 2.9.10;
  • python-daemon - 3.1.2;
  • requests - 2.32.5;
  • urllib3 - 2.6.2.

Структура

/opt/pangolin-backup-tools/
└── lib
├── python
│ └── <...>
└── python3 -> python

Установка

Установка компонента pangolin-ansible-backup-tools-venv происходит с помощью автоматизированных Ansible-скриптов, либо вручную при установке компонента Pangolin Backup Tools.

Дополнительные rpm/deb-пакеты

Дополнительные rpm/deb-пакеты поставляемые в основной части дистрибутива:

  • pangolin-dbms-libpq
  • pangolin-dbms-libpq-dev
  • pangolin-copywala

Пакеты pangolin-dbms-libpq и pangolin-dbms-libpq-dev

Сведения

Пакеты являютсяопциональными для установки, в зависимости от потребности клиента.

Поставляемый пакет libpq - это интерфейс СУБД Pangolin для программирования приложений на языке C. Библиотека содержит набор функций, используя которые клиентские программы могут передавать запросы серверу СУБД Pangolin и принимать результаты этих запросов.

Пакет libpq-dev содержит заголовочные файлы и статическую библиотеку для компиляции программ на языке C с использованием библиотеки libpq, которая отвечает за взаимодействие с серверной частью Pangolin. Пакет используется для разработки собственных интерфейсов с помощью подключения библиотеки.

Особенности

Компонент libpq из поставки СУБД Pangolin является доработанным и модифицированным модулем (в отличие от оригинального решения) для реализации функций безопасности при работе других компонентов продукта, таких как Pangolin Manager, Backup Tools и другие.

При необходимости использования следующих функций безопасности потребуется установка поставляемого пакета pangolin-libpq:

  • работа с засекреченным хранилищем паролей;
  • работа по сертификатам PKCS#12;
  • засекречиванием пароля при передаче от клиента к БД командой \password (управляется конфигурационным параметром psql_encrypt_password);
  • исключение истории запросов в psql на стороне клиента.

Структура пакетов

Структура пакета pangolin-dbms-libpq:

/usr/pangolin-dbms-libpq-{short-version}/
├── lib
│ ├── libfe_elog.so
│ ├── libpq.so
│ ├── libpq.so.5
│ └── libpq.so.5.15
└── share
└── locale
└── <...>

В состав пакета pangolin-dbms-libpq-dev включен libpq.h:

/usr/pangolin-dbms-libpq-dev-{short-version}/
└── include
└── libpq.h

Пути до файлов компонента

Стандартные файлы компонента отсутствуют. В рамках компонентов предоставляются библиотеки для использования их в собственных скриптах автоматизации клиента.

Установка

Компоненты устанавливаются вручную с помощью пакетного менеджера. Описание подготовки среды к разработке приложений описано в разделе «Подключение и конфигурирование» документа «Руководство прикладного разработчика».

Пакет pangolin-copywala

Пакет отвечает за установку утилиты резервного копирования и восстановления данных copywala.

Подробное описание утилиты представлено в разделе «Утилита резервного копирования copywala» документа «Руководство администратора».

Структура пакета

Пакет pangolin-copywala имеет структуру:

/etc/pangolin-copywala/
├── copywala.example.yaml
└── copywala.yaml
/opt/pangolin-copywala/
├── bin
│ └── copywala
├── lib
│ ├── libaes_256_plugin.so
│ ├── libfe_elog.so
│ ├── libpassword_encryption.so
│ ├── libpassword_encryption.so.1
│ └── libpassword_encryption.so.1.1
├── log
└── var

Установка

Установка данного пакета доступна на этапе развертывания СУБД при помощи автоматизированных Ansible-скриптов, либо в любой момент с помощью инструкции ручной пошаговой установки.

Утилиты

Сведения

Компоненты, представленные в данном разделе, являютсяопциональными к установке, в зависимости от потребности клиента.

Список rpm/deb-пакетов в составе дистрибутива каталога utilities/:

  • pangolin-auth-password
  • pangolin-auth-reencrypt
  • pangolin-certs-rotate
  • pangolin-diagnostic-tool
  • pangolin-security-utilities
  • pangolin-tuner
  • pangolin-inplace-upgrade

А также из каталога installer/utilities/:

  • pangolin-installer

Пакет pangolin-auth-password

Пакет поставляет утилиту (pg_auth_password) для засекречивания паролей. Инструмент позволяет получить пароль в засекреченном виде после ввода исходного пароля.

Структура

Пакет pangolin-auth-password имеет структуру:

/opt/pangolin-auth-password/
├── bin/
│ └── pg_auth_password
└── lib/
├── libencryption_plugin.so -> plugins/libaes_256_plugin.so
├── libfe_elog.so
└── plugins/
└── libaes_256_plugin.so

Установка

Утилита устанавливается автоматически при выборе автоматизированного способа развертывания СУБД Pangolin. Описание процесса ручной установки и работы утилиты представлено в подразделе «Установка утилиты pg_auth_password» раздела «Засекречивание параметров подключения» документа «Руководство администратора».

Пути до файлов компонентов

После установки пакета утилита доступна по пути: /opt/pangolin-auth-password/bin/pg_auth_password.

Дополнительные системные файлы компонента отсутствуют.

Пакет pangolin-auth-reencrypt

Пакет поставляет утилиту (pangolin-auth-reencrypt) для автоматического перекодирования параметров подключения без привлечения администратора базы данных и администратора безопасности, входит в состав продукта, поэтому поставляется в виде rpm/deb-пакета в составе дистрибутива в каталоге utilities/. Утилита предназначена для поддержания высокого уровня безопасности и управления ключами кодирования.

Структура

/etc/pangolin-auth-reencrypt
├── enc_util.cfg
├── kmadmin_pg
│ └── <...>
└── postgres
└── enc_params.cfg.postgres
/opt/pangolin-auth-reencrypt
├── bin
│ └── pangolin-auth-reencrypt
├── log
└── share
└── doc
└── logrotate
├── pangolin-auth-reencrypt-kmadmin_pg
└── pangolin-auth-reencrypt-postgres

Пути до файлов компонентов

После установки пакета утилита (pangolin-auth-reencrypt) доступна в каталоге /opt/pangolin-auth-reencrypt/bin/pangolin-auth-reencrypt.

Компонент имеет следующие пути до системных файлов:

  • Путь развертывания бинарных файлов и библиотек компонента:

    /opt/pangolin-auth-reencrypt/bin/
  • Сервисный файл компонента:

    /usr/lib/systemd/system/pangolin-auth-reencrypt@.service или /home/postgres/.config/systemd/user/pangolin-auth-reencrypt.service
  • Файл с PID процесса компонента:

    /var/run/pangolin-auth-reencrypt/pangolin-auth-reencrypt-postgres.pid
    /var/run/pangolin-auth-reencrypt/pangolin-auth-reencrypt-kmadmin_pg.pid
  • Файл для ротация файлов логирования компонента:

    /opt/pangolin-auth-reencrypt/share/doc/logrotate/pangolin-auth-reencrypt-postgres
    /opt/pangolin-auth-reencrypt/share/doc/logrotate/pangolin-auth-reencrypt-kmadmin_pg
  • Конфигурационные файлы компонента:

    /etc/pangolin-auth-reencrypt/enc_util.cfg
    /etc/pangolin-auth-reencrypt/postgres/enc_params.cfg.postgres
    /etc/pangolin-auth-reencrypt/kmadmin_pg/enc_params.cfg.kmadmin_pg

Установка

Утилита устанавливается автоматически при выборе автоматизированного способа развертывания СУБД Pangolin. Описание ручной установки и работы утилиты представлено в разделе «Восстановление работоспособности узла кластера при смене параметров сервера».

Пакет pangolin-certs-rotate

Пакет предоставляет сервис ротации сертификатов (pangolin-certs-rotate). Агент представляет собой исполняемый файл pangolin-certs-rotate, который настраивается для работы с конкретным хранилищем сертификатов через систему плагинов.

Описание работы агента pangolin-certs-rotate представлено в подразделе «Агент pangolin-certs-rotate» документа «Руководство администратора».

Структура

/etc/pangolin-certs-rotate
└── pangolin-certs-rotate.yml
/opt/pangolin-certs-rotate
├── bin
│ └── pangolin-certs-rotate
├── lib
│ ├── <...>
│ └── plugins
│ └── <...>
├── log
└── share
└── doc
└── logrotate
└── pangolin-certs-rotate

Установка

Агент устанавливается автоматически при выборе автоматизированного способа развертывания СУБД Pangolin. Описание процесса настройки агента pangolin-certs-rotate представлено в подразделе «Агент pangolin-certs-rotate» документа «Руководство администратора».

Пути до файлов компонентов

После установки агент доступен в директории /opt/pangolin-common/bin/.

Компонент имеет следующие пути до системных файлов:

  • Бинарные файлы и библиотеки:

    /opt/pangolin-certs-rotate/bin/
    /opt/pangolin-certs-rotate/lib/
  • Сервисный файл:

    /usr/lib/systemd/system/pangolin-certs-rotate.service или /home/postgres/.config/systemd/user/pangolin-certs-rotate.service
  • Конфигурационный файл компонента:

    /etc/pangolin-certs-rotate/pangolin-certs-rotate.yml
  • Файл с PID процесса компонента:

    /var/run/pangolin-certs-rotate/pangolin-certs-rotate.pid
  • Ротация лог-файлов агента выполняется с помощью утилиты logrotate. Файл конфигурации для logrotate расположен в:

    /etc/logrotate.d/pangolin-certs-rotate

Пакет pangolin-diagnostic-tool

Пакет предоставляет утилиту (diagnostic_tool) формирования диагностического отчета с информацией об узле СУБД.

Структура

/opt/pangolin-diagnostic-tool
├── bin
│ ├── pangolin-diagnostic-tool
│ └── pangolin-diagnostic-tool-bin
│ └── pangolin-diagnostic-tool.bin

└── lib
└── <...>

Пути до файлов компонентов

Утилита при развертывании располагается по пути /opt/pangolin-diagnostic-tool/bin/.

Дополнительные системные файлы компонента отсутствуют.

Установка

Пакет устанавливается автоматически при выборе автоматизированного способа развертывания СУБД Pangolin.

Описание работы утилиты представлено в подразделе «Диагностический отчет. Утилита pangolin-diagnostic-tool» раздела «Диагностика и планирование» документа «Руководство администратора».

Пакет pangolin-security-utilities

Компонент представляет собой комплекс утилит:

  • setup_kms_credentials – инициализирует параметры подключения к защищенному хранилищу;
  • encrypt_params_file – кодирует статические параметры при использовании KMS-заменителя;
  • generate_encryption_key – генерирует ключ для кодирования;
  • pg_dump_generate_secret_file – генерирует файла ключа, использующегося для засекречивания ключей кодирования защищенного дампа;
  • admin_protection_corrector – осуществляет автоматический поиск и удаления устаревших записей в системных таблицах СЗИ.

Пример использования утилит представлен в разделе «KMS-заменитель» документа «Руководство администратора».

Структура

/etc/pangolin-security-utilities/
├── enc_connection_settings_cert.cfg
└── vault_cache
├── certificates.cache
└── vault_certs_cache.mtime
/opt/pangolin-security-utilities/
├── bin/
│   ├── admin_protection_corrector
│   ├── encrypt_params_file
│   ├── pg_dump_generate_secret_file
│   ├── generate_encryption_key
│   └── setup_kms_credentials
└── lib/
├── <...>
└── plugins
└── <...>

Пути до файлов компонентов

Бинарные файлы и библиотеки:

/opt/pangolin-security-utilities/bin/

Конфигурационные файлы компонента:

/etc/pangolin-security-utilities/enc_connection_settings.cfg
/etc/pangolin-security-utilities/enc_connection_settings_certs.cfg
Сведения

Создаются при инициализацииsetup_kms_credentials.

Дополнительные системные файлы компонента отсутствуют.

Установка

Пакет устанавливается автоматически при выборе автоматизированного способа развертывания СУБД Pangolin.

Описание использования утилит компонента представлено в разделе «Безопасность» документа «Руководство администратора».

Пакет pangolin-tuner

Пакет отвечает за управление компонентом Pangolin Tuner. Pangolin Tuner — это инструмент для работы с конфигурацией Postgres-like СУБД, предназначенный для настройки конфигурационных параметров адаптированных в различных сценариях использования.

Структура

/opt/pangolin-tuner/
└── bin/
├── pangolin-tuner
└── <...>

Установка

С подробным описанием, процессом установки и управления утилитой можно ознакомиться в разделе «Тюнинг параметров» документа «Руководство администратора».

Путь до файлов компонента

После установки утилита доступна в каталоге /opt/pangolin-tuner/bin/pangolin-tuner.

Дополнительные системные файлы компонента отсутствуют.

Пакет pangolin-installer

Пакет предоставляет инструмент Pangolin Installer для управления скриптами автоматизации СУБД Pangolin.

Данный пакет имеет зависимость в виде пакета pangolin-ansible-venv-controller. Инструмент не сможет корректно функционировать без предустановки данного пакета.

Путь до файлов компонента

Путь до утилиты: /opt/pangolin-ansible-venv-controller/bin/pangolin-installer.

Бинарные файлы расположены по пути:

/opt/pangolin-ansible-venv-controller/bin/pangolin-installer-bin

Дополнительные системные файлы компонента отсутствуют.

Установка

Описание процесса установки и использование инструмента представлено в разделе «Сценарий установки при помощи инструмента Pangolin Installer».

Пакет pangolin-inplace-upgrade

Пакет предоставляет утилиту Pangolin Inplace Upgrade для обновления системных каталогов Pangolin без изменения структуры данных.

Структура

/opt/pangolin-utilities/bin/pg_inplace_upgrade
   ├── inplace_upgrade.sh
   ├── update_catalog_version
   ├── verify_pg_catalog.py
   └── sql_upgrade_6xx/
   └── <...>

Путь до файлов компонента

Скрипт обновления и все что он использует, находится в директории /opt/pangolin-utilities/bin/pg_inplace_upgrade поставляемого дистрибутива.

Установка

Процесс установки описан в сценариях обновления СУБД Pangolin в случаях этой необходимости.

Описание использования утилиты приведено в разделе «Утилита для обновления системных каталогов Pangolin без изменения структуры данных» данного документа.

Мета-пакеты

Мета-пакеты, поставляемые в основной части дистрибутива:

  • pangolin-orchestrated
  • pangolin-core
  • pangolin-manager-dcs
  • pangolin-full
  • pangolin-full-debuginfo

Мета-пакеты из untrusted-части:

  • pangolin-untrusted
  • pangolin-untrusted-debuginfo

Процесс установки и описание мета-пакетов представлено в разделе «Мета-пакеты для процесса ручной пошаговой установки СУБД Pangolin».

Отладочные пакеты

Сведения

Компоненты представленные в данном разделе являютсяопциональными к установке, в зависимости от потребности клиента.

Набор пакетов для установки отладочных символов, собранных для основных модулей и утилит, поставляемые в каталоге debug/:

  • pangolin-backup-tools-debuginfo
  • pangolin-dbms-debuginfo
  • pangolin-dbms-client-debuginfo
  • pangolin-dbms-libpq-debuginfo
  • pangolin-manager-debuginfo
  • pangolin-pooler-debuginfo
  • pangolin-pooler-mt-debuginfo
  • pangolin-auth-password-debuginfo
  • pangolin-certs-rotate-debuginfo
  • pangolin-security-utilities-debuginfo

А также каталог с untrusted-расширений содержит архив untrusted-distrib с отладочными пакетами данных расширений.

Подробная информация об отладочных пакетах представлена в разделе «Поставка сборки с отладочными пакетами».

Вспомогательные пакеты для работоспособности скриптов автоматизации

Сведения

Компоненты представленные в данном разделе являются инструментами создания виртуального окруженияpython со всеми зависимостями, необходимыми для работоспособности скриптов автоматизации.

Поставляемые вспомогательные venv-пакеты:

  • pangolin-ansible-venv-controller
  • pangolin-ansible-venv-controlled

Пакет pangolin-ansible-venv-controller

Пакет pangolin-ansible-venv-controller, входящий в состав дистрибутива и располагающийся в 3rdparty, позволяет развернуть виртуальное окружения для корректного запуска скриптов развертывания/обновления. В его состав будут входить все необходимые зависимости для запуска Ansible-скриптов.

Виртуальное окружение при развертывании rpm/deb-пакета располагается по пути /opt/pangolin-ansible-venv-controller/.

Состав пакета

Список pip-пакетов, которые входят в состав компонента, для соответствующей операционной системы:

  • ansible: 4.10.0;
  • ansible-core: 2.11.7;
  • cffi: 2.0.0;
  • cryptography: 46.0.3;
  • dnspython: 2.7.0;
  • Jinja2: 3.1.6;
  • jmespath: 1.0.1;
  • MarkupSafe: 3.0.3;
  • netaddr: 0.8.0;
  • packaging: 25.0;
  • pip: 25.3;
  • pycparser: 2.23;
  • pyparsing: 3.2.1;
  • PyYAML: 6.0.3;
  • resolvelib: 1.0.1;
  • setuptools: 80.9.0;
  • six: 1.17.0;
  • wheel: 0.45.1.

Структура

/opt/pangolin-ansible-venv-controller/
├── bin
│ ├── activate
│ ├── activate.csh
│ ├── activate.fish
│ ├── Activate.ps1
│ ├── ansible
│ ├── ansible-config
│ ├── ansible-connection
│ ├── ansible-console
│ ├── ansible-doc
│ ├── ansible-galaxy
│ ├── ansible-inventory
│ ├── ansible-playbook
│ ├── ansible-pull
│ ├── ansible-test
│ ├── ansible-vault
│ ├── jp.py
│ ├── netaddr
│ ├── pangolin-installer
│ ├── pangolin-installer-bin
│ │ └── <...>
│ ├── pip
│ ├── pip3
│ ├── pip3.9
│ ├── __pycache__
│ │ └── jp.cpython-39.pyc
│ ├── python
│ ├── python3
│ └── python3.9
├── include
├── lib
│ ├── python3 -> python3.9
│ └── python3.9
│ └── <...>
├── lib64 -> lib
├── pyvenv.cfg
└── share
└── plugins
├── __init__.py
└── writer_count_tasks.py

Установка

Установка компонента pangolin-ansible-venv-controller происходит вручную.

Описание установки данного пакета представлено в разделе «Подготовка виртуального окружения».

Подсказка

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

Пакет pangolin-ansible-venv-controlled

Сведения

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

Пакет содержит набор pip-пакетов для развертывания виртуального окружения, необходимый для корректной работы Ansible-скриптов на узлах стенда установки СУБД Pangolin. Данный компонент не входит в состав продукта, поэтому поставляется в каталоге 3rdparty/.

Состав пакета

Список pip-пакетов, которые входят в состав компонента:

  • cffi: 2.0.0;
  • cryptography: 46.0.3;
  • pexpect: 4.9.0;
  • pip: 25.3;
  • psutil: 7.0.0;
  • ptyprocess: 0.7.0;
  • pycparser: 2.23;
  • PyYAML: 6.0.3;
  • requests: 2.32.5;
  • ruamel.yaml: 0.17.20;
  • setuptools: 80.9.0.

Структура

/opt/pangolin-ansible-venv-controlled/
├── bin
│ ├── activate
│ ├── activate.csh
│ ├── activate.fish
│ ├── Activate.ps1
│ ├── normalizer
│ ├── pip
│ ├── pip3
│ ├── pip3.9
│ ├── python
│ ├── python3
│ └── python3.9
├── include
├── lib
│ ├── python3 -> python3.9
│ └── python3.9
│ └── <...>
├── lib64 -> lib
└── pyvenv.cfg

Установка

Пакет pangolin-ansible-venv-controlled устанавливается автоматически при помощи Ansible-скриптов автоматизации, в процессе установки или обновления СУБД Pangolin.

Расширения

Сведения

Компоненты представленные в данном разделе являютсяопциональными к установке, в зависимости от потребности клиента.

Содержание архива со сторонними зависимостями (расширениями 3rd Party), поддержка которых не осуществляется, не входит в состав продукта. Дистрибутив содержит следующие расширения поставляемые в каталоге 3rdparty:

  • pangolin-citus
  • pangolin-pg-anon
  • pangolin-pg-background
  • pangolin-pg-dbms-lock
  • pangolin-pgcompacttable
  • pangolin-pgcopydb
  • pangolin-pgloader
  • pangolin-pgq
  • pangolin-pgq-coop
  • pangolin-pgqd
  • pangolin-pgrouting
  • pangolin-pgsql-http
  • pangolin-pldebugger
  • pangolin-plpgsql-check
  • pangolin-postgis
  • pangolin-timescaledb-community

И также расширение pangolin-timescaledb-apache в основной части дистрибутива.

Внимание!

Поставляемые пакеты расширений предоставляют исполняемые файлы и библиотеки, но не выполняют установку самих расширений в БД. Для конечной установки необходимо самостоятельно выполнить настройку и активацию расширения.

Подробное описание всех расширений, а также процесс активации, представлен в документе «Описание расширений продукта СУБД Pangolin». Для каждого поставляемого расширения (в основной и 3rd Party части) выделен отдельный раздел с описанием, процессом установки и использованием модуля.

Пакет pangolin-timescaledb

Расширение для работы с временными рядами. Расширение поставляется в двух форматах: pangolin-timescaledb-apache в основной части дистрибутива и pangolin-timescaledb-community в 3rd Party. Расширение pangolin-timescaledb-apache поддерживается, то есть может быть: доработано по требованию безопасности, обновлено с помощью скриптов автоматизации, исправление дефектов, возможное развитие. С расширением pangolin-timescaledb-community гарантируется совместимость, доработка не предусмотрена.

Расширение при развертывании пакета располагается по пути /usr/pangolin-{short_version}/share/extension/.

Библиотеки расширения располагаются в /usr/pangolin-{short_version}/lib/.

Пакет pangolin-citus

Расширение позволяет добавить столбцовое хранение и возможность организации распределенной OLAP БД.

Расширение при развертывании пакета располагается по пути /usr/pangolin-{short_version}/share/extension/.

Библиотеки расширения располагаются в /usr/pangolin-{short_version}/lib/.

Пакет pangolin-pg-anon

Расширение anon(postgresql_anonymizer) для анонимизация и маскировка данных.

Расширение при развертывании пакета располагается по пути /usr/pangolin-{short_version}/share/extension/.

Пакет pangolin-pg-background

Расширение для управления пользовательскими фоновыми процессами. Данный компонент не входит в состав продукта, поэтому поставляется в виде пакета в составе дистрибутива в каталоге 3rdparty/pg_background/. Версия компонента привязана к оригинальной версии расширения.

Расширение при развертывании пакета располагается по пути /usr/pangolin-{short_version}/share/extension/.

Библиотеки расширения располагаются в /usr/pangolin-{short_version}/lib/.

Пакет pangolin-pg-dbms-lock

Расширение pg_dbms_lock позволяет инициировать пользовательские блокировки.

Расширение при развертывании пакета располагается по пути /usr/pangolin-{short_version}/share/extension/.

Пакет pangolin-pgcompacttable

Утилита pgcompacttable представляет собой скрипт для уменьшения размера (реорганизации) «раздутых» таблиц (реорганизации) и перестройку индексов.

Расширение располагается при развертывании по пути: /usr/pangolin-{short_version}/bin/.

Пакет pangolin-pgcopydb

Утилита pgcopydb для автоматизации копирования базы данных на другой сервер. Утилита pgcopydb реализует полную миграцию всей базы данных PostgreSQL из исходного экземпляра в целевой. Данный компонент не входит в состав продукта, поэтому поставляется в виде rpm/deb-пакета в составе дистрибутива в каталоге 3rdparty/pgcopydb/. Версия компонента привязана к оригинальной версии расширения.

Расширение располагается при развертывании по пути: /usr/pangolin-{short_version}/bin/.

Пакет pangolin-pgloader

Утилита pgloader для миграции данных из MSSQL в СУБД Pangolin. Данный компонент не входит в состав продукта, поэтому поставляется в виде rpm/deb-пакетав составе дистрибутива в каталоге 3rdparty/migration_tools/.

Утилита при развертывании пакета располагается по пути: /opt/pangolin-pgloader/bin/.

Пакет ora2pg

Утилита для миграции данных из Oracle в Pangolin. Данный компонент не входит в состав продукта, поэтому поставляется в виде бинарных файлов в составе дистрибутива в каталоге 3rdparty/migration_tools/. Для сборки пакета подготовлен spec-файл.

Пакеты pangolin-pgq и pangolin-pgq-coop

Расширения для поддержки очередей сообщений со стороны СУБД. Данные компоненты не входят в состав продукта, поэтому поставляются в виде rpm/deb-пакетав составе дистрибутива в каталогах 3rdparty/pgq/ и 3rdparty/pgq-coop/. Версии компонентов привязаны к оригинальным версиям расширений. Расширения располагаются в /usr/pangolin-{short_version}/share/extension/.

Библиотеки расширений располагаются в /usr/pangolin-{short_version}/lib/.

Пакет pangolin-pgqd

Сервис для поддержки очередей сообщений со стороны СУБД. Данный компонент не входит в состав продукта, поэтому поставляется в виде rpm/deb-пакетав составе дистрибутива в каталоге 3rdparty/pgqd/. Версия компонента привязана к оригинальной версии расширения.

Бинарный файл компонента при развертывании пакета расположен в /usr/pangolin-{short_version}/bin/.

Сервисный файл компонента расположен по пути /usr/lib/systemd/system/pangolin-pgqd.service или /home/postgres/.config/systemd/user/pangolin-pgqd.service.

Конфигурационный файл расположен в /etc/pangolin-pgqd/pangolin-pgqd.ini.

Расположение файла с PID процесса компонента: /var/run/pangolin-pgqd/pangolin-pgqd.pid.

Пакет pangolin-pgrouting

Расширение, добавляющее поддержку геопространственной маршрутизации и другие функции сетевого анализа. Данный компонент не входит в состав продукта, поэтому поставляется в виде rpm/deb-пакетав составе дистрибутива в каталоге 3rdparty/pgrouting/. Версия компонента привязана к оригинальной версии расширения.

Расположение расширения при развертывании пакета: /usr/pangolin-{short_version}/share/extension/.

Расположение библиотек расширения: /usr/pangolin-{short_version}/lib/.

Пакет pangolin-pgsql-http

Расширение для поддержки HTTP-клиента на уровне СУБД, позволяющее обращаться к REST-сервисам посредством SQL-запросов. Данный компонент не входит в состав продукта, поэтому поставляется в виде rpm/deb-пакетав составе дистрибутива в каталоге 3rdparty/pgsql_http/. Версия компонента привязана к оригинальной версии расширения.

Расположение расширения при развертывании пакета: /usr/pangolin-{short_version}/share/extension/.

Расположение библиотек расширения при развертывании пакета: /usr/pangolin-{short_version}/lib/.

Пакет pangolin-pldebugger

Расширение, предоставляющее API для выполнения функций с возможностью остановки в заданной точке, пошаговым выполнением и просмотром значений переменных. Расширение интегрировано с решениями от pg_admin и dbeaver (данные утилиты предоставляют графический интерфейс для разработки с использованием возможностей расширения), а также позволяет использовать функции API прямо из psql, поскольку они представляют собой стандартные SQL-функции. Данный компонент не входит в состав продукта, поэтому поставляется в виде rpm/deb-пакетав составе дистрибутива в каталоге 3rdparty/pldebugger/. Версия компонента привязана к оригинальной версии расширения.

Расширение при развертывании пакета располагается в /usr/pangolin-{short_version}/share/extension/.

Библиотеки расширения при развертывании находятся по пути: /usr/pangolin-{short_version}/lib/.

Пакет pangolin-pgsql-check

Статический анализатор кода plpgsql для PostgreSQL, предоставляющее набор функций для анализа и профилирования функций и процедур, написанных на языке PL/pgSQL. Данный компонент не входит в состав продукта, поэтому поставляется в виде rpm/deb-пакетав составе дистрибутива в каталоге 3rdparty/pgsql_check/. Версия компонента привязан к оригинальной версии расширения.

Расположение расширения при развертывании пакета: /usr/pangolin-{short_version}/share/extension/.

Расположение библиотек расширения при развертывании: /usr/pangolin-{short_version}/lib/.

Пакет pangolin-postgis

Расширение, добавляющее поддержку хранения, индексирования и запроса геопространственных данных. Данный компонент не входит в состав продукта, поэтому поставляется в виде rpm/deb-пакетав составе дистрибутива в каталоге 3rdparty/postgis/. Версия компонента привязана к оригинальной версии расширения.

Расположение расширения при развертывании: /usr/pangolin-{short_version}/share/extension/.

Расположение сторонних библиотек расширения: /usr/local/lib.

Untrusted расширения

Сведения

Компоненты представленные в данном разделе являютсяопциональными к установке, в зависимости от потребности клиента.

Дистрибутив содержит следующие расширения, поставляемые в каталоге untrusted:

Часть расширений вынесена в untrusted-часть, так как они представляют собой интерпретируемые языки программирования. Для обеспечения гибкости, безопасности и минимизации рисков, каждый такой пакет требует отдельной установки соответствующего языка программирования. Дистрибутив продукта содержит следующие группы расширений, поставляемые в каталоге untrusted:

  • plperl
  • plpython3
  • pltcl
  • bool_plperl
  • hstore_plperl
  • hstore_plpython3
  • jsonb_plperl
  • jsonb_plpython3
  • ltree_plpython3

А также архив untrusted-distrib.tar.gz пакетов с отладочными символами данных расширений.

Расширения поставляются в отдельном архиве в составе дистрибутива, каждое в своем отдельном rpm/deb-пакете со всеми необходимыми зависимостями.

Подробное описание всех расширений представлено в документе «Описание расширений продукта СУБД Pangolin». Для каждого поставляемого расширения выделен отдельный раздел с описанием, процессом установки и использованием модуля.

Пакет plperl

Пакет plperl содержит в себе два расширения: загружаемый процедурный язык PL/Perl (plperl) и недоверенный процедурный язык PL/Perlu (plperlu).

Пакет plpython3

Пакет plpython3 содержит расширение загружаемого недоверенного процедурного языка PL/Python3 (plpython3u).

Пакет pltcl

Пакет pltcl содержит в себе два расширения: загружаемый процедурный язык PL/Tcl (pltcl) и недоверенный процедурный язык PL/Tcl (pltclu).

Пакет bool-plperl

Пакет bool-plperl содержит в себе два расширения: преобразование логических значений для языка PL/Perl (plperl) и аналогичная трансформация в недоверенный язык PL/Perlu (plperlu).

Пакет hstore-plperl

Пакет hstore-plperl содержит в себе два расширения: преобразование логических значений для языка PL/Perl (plperl) и аналогичная трансформация в недоверенный язык PL/Perlu (plperlu).

Пакет hstore-plpython3

Пакет hstore-plpython3 содержит в себе расширение для трансформации типа hstore в структуру PL/Python3u (hstore_plpython3u).

Пакет jsonb-plperl

Пакет pltcl содержит в себе два расширения: преобразование jsonb для языка PL/Perl (jsonb_plperl) и аналогичная трансформация в недоверенный язык PL/Perlu (jsonb_plperlu).

Пакет jsonb-plpython3

Пакет jsonb-plperl содержит в себе расширение для трансформации типа jsonb в структуру PL/Python3u (jsonb_plpython3u).

Пакет ltree-plpython3

Пакет ltree-plperl содержит в себе расширение для трансформации типа ltree в структуру PL/Python3u (ltree_plpython3u).