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

Состав дистрибутива

В скриптах сборки СУБД Pangolin (далее – Pangolin) реализовано формирование составных компонентов zip-пакета и упаковка их в пакет PSQ-{version}-{OS}-distrib.zip.

Обозначения

Далее в разделе, в приведенных схемах дистрибутива, будут указаны следующие обозначения:

  • PSQ – код продукта СУБД Pangolin;
  • {OS} – наименование операционной системы и ее версия;
  • {product_version} – версия продукта (текущая версия: 7.3.1);
  • {release_version} – версия релиза компонента (текущая версия: 7.3.1);
  • {short_version} – короткая версия продукта (текущая: 7.3);
  • {base_version} – базовая версия продукта (текущая: 7);
  • {version_component} – версия компонента.

Составные части zip-пакета:

PSQ-7.3.1-{OS}-distrib.zip                    // Дистрибутив продукта СУБД Pangolin
├── PSQ-7.3.1-{OS}-cyclonedx-distrib.json // SBOM-файл для продукта
├── PSQ-7.3.1-{OS}-documentation-distrib.zip // Дистрибутив документации на программный продукт
├── PSQ-7.3.1-{OS}-documentation-distrib.pom
├── PSQ-7.3.1-{OS}-installer-distrib.zip // Инструменты развертывания и обновления продукта
├── PSQ-7.3.1-{OS}-installer-distrib.pom
├── PSQ-7.3.1-{OS}-owned-distrib.zip // Дистрибутив продукта
├── PSQ-7.3.1-{OS}-owned-distrib.pom
├── PSQ-7.3.1-{OS}-party-distrib.zip // Архив со сторонними зависимостями (расширениями 3rd Party), поддержка которых не осуществляется
├── PSQ-7.3.1-{OS}-party-distrib.pom
├── PSQ-7.3.1-{OS}-swidtag-distrib.swidtag // SWIDTAG-файл продукта
├── PSQ-7.3.1-{OS}-unpacker-distrib.sh // Скрипт по формированию единого дистрибутива
├── PSQ-7.3.1-{OS}-untrusted-distrib.zip // Архив со сторонними зависимостями (расширениями Untrusted), для которых осуществляется полная поддержка в части обновления и сопровождения
└── PSQ-7.3.1-{OS}-untrusted-distrib.pom

Распакованный дистрибутив

Подготовленный к процессу установки дистрибутив продукта СУБД Pangolin содержит перечисленные ниже элементы:

Сведения

Подробное описание по структуре, установке и составу пакетов представлено в разделе«Описание поставляемых rpm/deb-пакетов».

PSQ-7.3.1-distrib/
└── distributive/ // Каталог с распакованным дистрибутивом продукта СУБД Pangolin
├── debug/ // Набор пакетов для установки отладочных символов, собранных для основных модулей и утилит
│ ├── pangolin-backup-tools-debuginfo-{version_component}-{OS}.x86_64.rpm
│ ├── pangolin-dbms-{short_version}-debuginfo-7.3.1-{OS}.x86_64.rpm
│ ├── pangolin-dbms-{short_version}-client-debuginfo-7.3.1-{OS}.x86_64.rpm
│ ├── pangolin-dbms-{short_version}-libpq-debuginfo-7.3.1-{OS}.x86_64.rpm
│ ├── pangolin-manager-debuginfo-{version_component}-{OS}.x86_64.rpm
│ ├── pangolin-pooler-debuginfo-{version_component}-{OS}.x86_64.rpm
│ └── utilities/
│ ├── pangolin-auth-password-debuginfo-7.3.1-{OS}.x86_64.rpm
│ ├── pangolin-certs-rotate-debuginfo-7.3.1-{OS}.x86_64.rpm
│ └── pangolin-security-utilities-debuginfo-7.3.1-{OS}.x86_64.rpm

├── documentation/ // Содержит документацию к продукту СУБД Pangolin
│ └── PSQ
│ ├── index.html // Разводящая страница на комплект документации
│ └── 7.3.1 // Каталог с документацией программного продукта
│ ├── html
│ │ ├── _downloads/ // Прикрепленные к документам файлы
│ │ │ └── <...>
│ │ ├── _images/ // Иллюстрации для документации
│ │ │ └── <...>
│ │ └── <...>
│ ├── documents/ // Собранная из исходников статика
│ │ └── <...>
│ └── info/ // Содержит информационные JSON файлы
│ └── <...>

├── installer/ // Содержит инструменты развертывания и обновления
│ ├── ansible.cfg // Конфигурационный файл для работы Ansible
│ ├── collection/ // collection-скрипты для Ansible
│ │ └── <...>
│ ├── files/ // Модуль конвертации с JSON на YAML формат
│ │ └── <...>
│ ├── group_vars/ // Групповые переменные Ansible
│ │ └── <...>
│ ├── inventories/ // Инвентарные файлы Ansible
│ │ └── <...>
│ ├── playbook_clean.yaml // Сценарий запуска очистки виртуальной машины
│ ├── playbook_create_pangolin_local_repo.yaml // Сценарий создания локального репозитория rpm-пакетов
│ ├── playbook_install.yaml // Сценарий запуска различных схем развертывания
│ ├── playbook_major_update.yaml // Сценарий запуска обновления с переносом данных (запускается автоматически через основной playbook_updates)
│ ├── playbook_minor_update.yaml // Сценарий запуска обновления исполняемых файлов (запускается автоматически через основной playbook_updates)
│ ├── playbook_scouting.yaml // Сценарий запуска разведчик перед обновлением
│ ├── playbook_updates.yaml // Сценарий запуска обновления, определяющий тип обновления и запускающий соответствующий playbook
│ ├── readme.txt // Содержит версию текущего дистрибутива СУБД Pangolin
│ ├── roles/ // Содержит логические модули, используемые в основных сценариях
│ │ └── <...>
│ ├── scripts/ // Набор вспомогательных скриптов и шаблонов для настройки стенда
│ │ └── update_error_types.yml // Список возможных ошибок каждого типа работы инсталлятора
│ ├── scripts_external/ // Набор скриптов по автоматической настройке СЗИ на стенде и/или развертывания ролевой модели
│ │ └── <...>
│ ├── templates/ // Набор шаблонов конфигурационных файлов
│ │ ├── pangolin_auth_reencrypt_templates/
│ │ │ └── enc_util.cfg.j2 // Шаблон конфигурационного файла утилиты перекодирования pangolin_auth_reencrypt
│ │ ├── pangolin_certs_rotate_templates/
│ │ │ └── pangolin-certs-rotate.yml.j2 // Шаблон конфигурационного файла сервиса ротации сертификатов pangolin-certs-rotate
│ │ ├── patroni_templates/
│ │ │ └── postgres.yml.j2 // Шаблон основного файла конфигурации компонента Pangolin Manager
│ │ ├── pgbouncer_templates/
│ │ │ └── pangolin-pooler.ini.j2 // Шаблон основного файла конфигурации компонента Pangolin Pooler
│ │ ├── postgresql_templates/
│ │ │ ├── pg_hba.conf.j2 // Шаблон конфигурационного файла настройки аутентификации 'pg_hba.conf'
│ │ │ └── postgresql.conf.j2 // Шаблон конфигурационного файла 'postgresql.conf' ядра PostgreSQL для управления параметрами СУБД
│ │ └── custom_config_sample.yml // Шаблон конфигурационного файла для развертывания СУБД
│ └── utilities/ // Набор утилит для корректной работы скриптов развертывания/обновления
│ ├── pangolin-installer-{version_component}-{OS}.x86_64.rpm // Инструмент установки СУБД для упрощения использования скриптов автоматизации
│ ├── license_verify // Инструмент для верификации лицензии Pangolin
│ │ └── psql_rsa_verify
│ ├── secret_storage_client_bundle // Набор утилит хранилища секретов Pangolin
│ │ └── <...>
│ └── psql_get_password_hash // Утилита получения хеша пароля Pangolin

├── pangolin-backup-tools-{version_component}-{OS}.x86_64.rpm // Инструменты резервного копирования
├── pangolin-copywala-7.3.1-{OS}.x86_64.rpm // Пакет агента copywala (смотрите раздел «Утилита резервного копирования copywala»)
├── pangolin-dbms-{base_version}-7.3.1-{OS}.x86_64.rpm // Пакет СУБД Pangolin с серверной частью
├── pangolin-dbms-{base_version}-client-7.3.1-{OS}.x86_64.rpm // Пакет СУБД Pangolin с клиентской частью
├── pangolin-dbms-{base_version}-libpq-7.3.1-{OS}.x86_64.rpm // Пакет с libpq частью СУБД
├── pangolin-dbms-{base_version}-libpq-dev-7.3.1-{OS}.x86_64.rpm // Пакет с libpq develop частью СУБД
├── pangolin-manager-{version_component}-{OS}.x86_64.rpm // Оркестратор кластера Pangolin
├── pangolin-pooler-{version_component}-{OS}.x86_64.rpm // Менеджер пулов соединений Pangolin
├── pangolin-orchestrated-7.3.1-{OS}.x86_64.rpm // Мета-пакет (подробнее смотрите раздел «Мета-пакеты для процесса ручной пошаговой установки СУБД Pangolin»)
├── pangolin-core-7.3.1-{OS}.x86_64.rpm // Мета-пакет (подробнее смотрите раздел «Мета-пакеты для процесса ручной пошаговой установки СУБД Pangolin»)
├── pangolin-manager-dcs-7.3.1-{OS}.x86_64.rpm // Мета-пакет (подробнее смотрите раздел «Мета-пакеты для процесса ручной пошаговой установки СУБД Pangolin»)
├── pangolin-full-7.3.1-{OS}.x86_64.rpm // Мета-пакет (подробнее смотрите раздел «Мета-пакеты для процесса ручной пошаговой установки СУБД Pangolin»)
├── regid.2011-07.ru.sbertech_psq-7.3.1.swidtag // SWIDTAG-файл продукта

├── repositories/ // Содержит структуру и метаданные репозиториев (шаблоны), которые будут использованы для дальнейшей установки и обновления
│ └── <...>

├── timescaledb/ // Расширение для работы с временными рядами
│ └── pangolin-timescaledb-{base_version}-apache-{version_component}-{release_version}.{OS}-x86_64.rpm

├── utilities/
│ ├── pangolin-auth-password-7.3.1-{OS}.x86_64.rpm // Утилита засекречивания паролей, представленных в открытом виде
│ ├── pangolin-auth-reencrypt-7.3.1-{OS}.x86_64.rpm // Сервис для автоматического перекодирования параметров подключения
│ ├── pangolin-certs-rotate-7.3.1-{OS}.x86_64.rpm // Сервис ротации сертификатов
│ ├── pangolin-diagnostic-tool-7.3.1-{OS}.x86_64.rpm // Утилита формирования диагностического отчета
│ ├── pangolin-tuner-{version_component}-{OS}.x86_64.rpm // Утилита для работы с конфигурацией СУБД Pangolin, предназначенный для оптимизации производительности БД в различных сценариях использования
│ ├── pangolin-security-utilities-7.3.1-{OS}.x86_64.rpm // Утилиты для настройки защиты администратора, TDE и безопасной конфигурации
│ └── pangolin-inplace-upgrade-7.3.1-{OS}.x86_64.rpm // Утилита для обновления системных каталогов Pangolin без изменения структуры данных |

├── 3rdparty/ // Содержит архив со сторонними зависимостями (различные модули и расширения), поддержка которых не осуществляется
│ └── 3rdparty.tar.gz // Расширения 3rd Party (подробнее смотрите документ «Описание расширений продукта СУБД Pangolin»)
│ ├── pangolin-ansible-venv-controlled-7.3.1-{OS}.x86_64.rpm // Набор pip-пакетов для развертывания виртуального окружения (на целевых хостах), необходимый для корректного запуска Ansible-скриптов
│ ├── pangolin-ansible-venv-controller-7.3.1-{OS}.x86_64.rpm // Пакет позволяет развернуть виртуальное окружения для корректного запуска сценариев автоматизированного развертывания/обновления
│ ├── pangolin-backup-tools-venv/
│ │ └── pangolin-backup-tools-venv-{version_component}-{OS}.x86_64.rpm
│ ├── pangolin-manager-venv/
│ │ └── pangolin-manager-venv-{version_component}-{OS}.x86_64.rpm
│ ├── citus/
│ │ └── pangolin-citus-{version_component}-{release_version}.{OS}.x86_64.rpm // Расширение, которое преобразует PostgreSQL в распределенную базу данных для высокой производительности в любом масштабе
│ ├── license_rest_api/ // Сервер лицензий MVP Rest Licensing
│ │ └── liblicense_rest_api.so
│ ├── migration_tools/
│ │ ├── pangolin-pgloader-{version_component}-{release_version}.{OS}.x86_64.rpm // Утилита миграции данных из MySQL, SQLite и SQL Server
│ │ └── ora2pg // Утилита миграции данных из Oracle в PostgreSQL в бинарном виде
│ │ └── <...>
│ ├── pg_anon/
│ │ └── pangolin-pg-anon-{version_component}-{release_version}.{OS}.x86_64.rpm // Утилиты для реализации обфускации (анонимизации) данных
│ ├── pg_background/
│ │ ├── pangolin-pg-background-{version_component}-{release_version}.{OS}.x86_64.rpm // Расширение для управления пользовательскими фоновыми процессами
│ │ └── pg_background-src.tar.gz // Исходный код компонента
│ ├── pg_dbms_lock/
│ │ ├── pangolin-pg-dbms-lock-{version_component}-{release_version}.{OS}.x86_64.rpm // Утилита для создания пользовательских блокировок
│ │ └── pg_dbms_lock-src.tar.gz // Исходный код компонента
│ ├── pgcopydb/
│ │ ├── pangolin-pgcopydb-{version_component}-{release_version}.{OS}.x86_64.rpm // Утилита для автоматизации копирования базы данных на другой сервер
│ │ └── pgcopydb.tar.gz // Исходный код компонента
│ ├── pgq/
│ │ └── pangolin-pgq-{version_component}-{release_version}.{OS}.x86_64.rpm // Расширение для организации монопольных очередей сообщений
│ ├── pgq_coop/
│ │ └── pangolin-pgq-coop-{version_component}-{release_version}.{OS}.x86_64.rpm // Утилита для организация кооперативных очередей сообщений
│ ├── pgqd/
│ │ └── pangolin-pgqd-{version_component}-{release_version}.{OS}.x86_64.rpm // Менеджер для поддержки очередей сообщений
│ ├── pgrouting/
│ │ ├── pangolin-pgrouting-{version_component}-{release_version}.{OS}.x86_64.rpm // Расширение, добавляющее поддержку геопространственной маршрутизации и другие функции сетевого анализа
│ │ └── pgrouting-src.tar.gz // Исходный код компонента
│ ├── pgsql_http/
│ │ └── pangolin-pgsql-http-{version_component}-{release_version}.{OS}.x86_64.rpm // Расширение для поддержки HTTP-клиента на уровне СУБД, позволяющее обращаться к REST-сервисам посредством SQL-запросов
│ ├── pldebugger/
│ │ └── pangolin-pldebugger-{version_component}-{release_version}.{OS}.x86_64.rpm // Расширение, предоставляющее API для выполнения функций с возможностью остановки в заданной точке, пошаговым выполнением и просмотром значений переменных
│ ├── plpgsql_check/
│ │ └── pangolin-plpgsql-check-{version_component}-{release_version}.{OS}.x86_64.rpm // Статический анализатор кода PL/pgSQL для PostgreSQL
│ ├── postgis/
│ │ ├── pangolin-postgis-{version_component}-{release_version}.{OS}.x86_64.rpm // Утилита добавляет поддержку географических объектов
│ │ └── <...> // Библиотеки необходимые для поддержки различных геоданных
│ └── timescaledb/
│ └── pangolin-timescaledb-community-{version_component}-{release_version}.{OS}.x86_64.rpm // Расширение для работы с временными рядами

└── untrusted-distrib/ // Содержит архив с недоверенными скриптовыми (процедурными) языками
└── untrusted-distrib.tar.gz // Расширения Untrusted (подробнее смотрите документ «Описание расширений продукта СУБД Pangolin»)
├── pangolin-dbms-{base_version}-plperl-7.3.1-{OS}.x86_64.rpm // Загружаемый недоверенный процедурный язык PL/Perl
├── pangolin-dbms-{base_version}-plpython3-7.3.1-{OS}.x86_64.rpm // Загружаемый недоверенный процедурный язык PL/Python
├── pangolin-dbms-{base_version}-pltcl-7.3.1-{OS}.x86_64.rpm // Процедурный язык PL/Tcl
└──<...>