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

Описание поставляемых 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-backup-tools;

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

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

Пакеты 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.5).

    Также системно создаются символические ссылки на каталог 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. По умолчанию используется:

    /pgerrorlog/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
  • Расположение лог-файла компонента:

    /pgerrorlog/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 - 2024.7.4;
  • charset-normalizer - 3.3.2;
  • click - 7.1.2;
  • dnspython - 2.6.1;
  • flake8 - 4.0.1;
  • idna - 3.7;
  • importlib-metadata - 4.2.0;
  • kazoo - 2.8.0;
  • mccabe - 0.6.1;
  • prettytable - 2.2.0;
  • psutil - 5.8.0;
  • psycopg2-binary - 2.9.10;
  • pycodestyle - 2.8.0;
  • pyflakes - 2.4.0;
  • python-dateutil - 2.8.2;
  • python-etcd - 0.4.5;
  • PyYAML - 6.0;
  • requests - 2.32.3;
  • semantic-version - 2.8.5;
  • setuptools - 75.8.2;
  • setuptools-rust - 1.1.2;
  • six - 1.16.0;
  • typing-extensions - 4.8.0;
  • urllib3 - 2.3.0;
  • wcwidth - 0.2.13;
  • ydiff - 1.2;
  • zipp - 3.20.2.

Структура

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

Установка

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

Пакет pangolin-pooler

Сведения

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

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

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

Пакет 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
  • Расположение лог-файла компонента:

    /pgerrorlog/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-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

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

Установка

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

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

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

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

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

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

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

  • certifi - 2024.7.4;
  • charset-normalizer - 3.3.2;
  • docutils - 0.18.1;
  • idna - 3.7;
  • lockfile - 0.12.2;
  • psycopg2-binary - 2.9.10;
  • python-daemon - 2.3.0;
  • requests - 2.32.3;
  • setuptools - 75.8.2;
  • urllib3 - 2.3.0.

Структура

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

Установка

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

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

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

  • pangolin-dbms-libpq;
  • pangolin-dbms-libpq-dev.

Пакеты 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

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

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

Установка

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

Утилиты

Сведения

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

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

  • pangolin-auth-password;
  • pangolin-auth-reencrypt;
  • pangolin-certs_rotate;
  • pangolin-diagnostic-tool;
  • pangolin-security-utilities;
  • pangolin-tuner;
  • pangolin-installer (поставляется в каталоге installer/utilities/).

Пакет 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

Пакет поставляет утилиту (pg_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

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

После установки пакета утилита (pg_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 представлено в подразделе «Ротация сертификатов, получаемых из SecMan» документа «Руководство администратора».

Структура

/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 представлено в подразделе «Ротация сертификатов, получаемых из SecMan» документа «Руководство администратора».

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

После установки агент доступен в директории /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-security-utilities

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

  • setup_kms_credentials - инициализирует параметры подключения к защищенному хранилищу;
  • encrypt_params_file - кодирует статические параметры при использовании KMS-заменителя;
  • generate_encryption_key - генерирует ключ для кодирования.

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

Структура

/etc/pangolin-security-utilities/
├── enc_connection_settings_cert.cfg
└── vault_cache
├── certificates.cache
└── vault_certs_cache.mtime
/opt/pangolin-security-utilities/
├── bin/
│   ├── encrypt_params_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 — это инструмент для работы с конфигурацией СУБД Pangolin, предназначенный для настройки конфигурационных параметров адаптированных в различных сценариях использования.

Структура

/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-orchestrated;
  • pangolin-core;
  • pangolin-manager-dcs;
  • pangolin-full;
  • pangolin-full-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-auth-password-debuginfo
  • pangolin-certs-rotate-debuginfo
  • pangolin-security-utilities-debuginfo

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

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

Сведения

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

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

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

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

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

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

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

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

  • ansible - 4.10.0;
  • ansible-core - 2.11.7;
  • cffi - 1.15.1;
  • cryptography - 42.0.2;
  • dnspython - 2.6.1;
  • Jinja2 - 3.0.3;
  • jmespath - 0.10.0;
  • MarkupSafe - 2.0.1;
  • netaddr - 0.7.19;
  • packaging - 24.0;
  • pip - 24.1.2;
  • pycparser - 2.21;
  • pyparsing - 3.0.6;
  • PyYAML - 6.0;
  • resolvelib - 0.5.5;
  • setuptools - 75.8.2;
  • six - 1.16.0;
  • wheel - 0.37.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-пакетов, которые входят в состав компонента:

  • certifi - 2024.7.4;
  • cffi - 1.15.1;
  • charset-normalizer - 3.3.2;
  • cryptography - 42.0.2;
  • idna - 3.7;
  • pexpect - 4.9.0;
  • pip - 24.1.2;
  • psutil - 5.8.0;
  • psycopg2-binary - 2.8.6;
  • ptyprocess - 0.7.0;
  • pycparser - 2.21;
  • PyYAML - 6.0;
  • requests - 2.32.3;
  • ruamel.yaml - 0.16.12;
  • setuptools - 75.8.2;
  • urllib3 - 2.3.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.

Расширения

Сведения

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

Дистрибутив содержит следующие расширения поставляемые в каталоге 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 либо для нового оборудования, новой архитектуры, либо для новой основной версии 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.