Состав дистрибутива
В скриптах сборки СУБД Pangolin (далее – Pangolin) реализовано формирование составных компонентов zip-пакета и упаковка их в пакет PSQ-6.5.2-{OS}-distrib.zip
.
Обозначения
Далее в разделе, в приведенных схемах дистрибутива, будут указаны следующие обозначения:
PSQ
- код продукта СУБД Pangolin;{OS}
- наименование операционной системы и ее версия;{product_version}
- версия продукта (текущая версия: 6.5.2);{short_version}
- короткая версия продукта (текущая: 6.5);{version_component}
- версия компонента.
Составные части zip-пакета:
PSQ-{product_version}-{OS}-distrib.zip // Дистрибутив продукта СУБД Pangolin
├── PSQ-{product_version}-{OS}-cyclonedx-distrib.json // SBOM-файл для продукта
├── PSQ-doc-{product_version}-distrib.zip // Дистрибутив документации на программный продукт
├── PSQ-doc-{product_version}.pom
├── PSQ-{product_version}-{OS}-installer-distrib.zip // Инструменты развертывания и обновления продукта
├── PSQ-{product_version}-{OS}-installer-distrib.pom
├── PSQ-{product_version}-{OS}-owned-distrib.zip // Дистрибутив продукта
├── PSQ-{product_version}-{OS}-owned-distrib.pom
├── PSQ-{product_version}-{OS}-party-distrib.zip // Архив со сторонними зависимостями (расширениями 3rd Party)
├── PSQ-{product_version}-{OS}-party-distrib.pom
├── PSQ-{product_version}-{OS}-swidtag-distrib.swidtag // SWIDTAG-файл продукта
└── PSQ-{product_version}-{OS}-unpacker-distrib.sh // Скрипт по формированию единого дистрибутива
Распакованный дистрибутив
Подготовленный к процессу установки дистрибутив продукта СУБД Pangolin содержит перечисленные ниже элементы:
PSQ-{product_version}-distrib/
└── distributive/ // Каталог с распакованным дистрибутивом продукта СУБД Pangolin
├── debug/ // Набор пакетов для установки отладочных символов, собранных для основных модулей и утилит
│ ├── pangolin-backup-tools-debuginfo-{version_component}-{OS}.x86_64.rpm
│ ├── pangolin-dbms-{short_version}-debuginfo-{product_version}-{OS}.x86_64.rpm
│ ├── pangolin-dbms-{short_version}-client-debuginfo-{product_version}-{OS}.x86_64.rpm
│ ├── pangolin-dbms-{short_version}-libpq-debuginfo-{product_version}-{OS}.x86_64.rpm
│ ├── pangolin-manager-debuginfo-{version_component}-{OS}.x86_64.rpm
│ ├── pangolin-pooler-debuginfo-{version_component}-{OS}.x86_64.rpm
| ├── pangolin-full-debuginfo-{product_version}-{OS}.x86_64.rpm // Мета-пакет (см. раздел «Мета-пакеты для процесса ручной пошаговой установки СУБД Pangolin»)
│ └── utilities/
│ ├── pangolin-auth-password-debuginfo-{product_version}-{OS}.x86_64.rpm
│ ├── pangolin-certs-rotate-debuginfo-{product_version}-{OS}.x86_64.rpm
│ └── pangolin-security-utilities-debuginfo-{product_version}-{OS}.x86_64.rpm
│
├── documentation/ // Содержит документацию к продукту СУБД Pangolin
│ └── PSQ
│ ├── index.html // Разводящая страница на комплект документации
│ └── {product_version} // Каталог с документацией программного продукта
│ ├── html
│ │ ├── _downloads/ // Прикрепленные к документам файлы
│ │ │ └── <...>
│ │ ├── _images/ // Иллюстрации для документации
│ │ │ └── <...>
│ │ └── <...>
│ ├── documents/ // Собранная из исходников статика
│ │ └── <...>
│ └── info/ // Содержит информационные JSON файлы
│ └── <...>
│
├── installer/ // Содержит инструменты развертывания и обновления
│ ├── ansible.cfg // Конфигурационный файл для работы Ansible
│ ├── callback_plugins/ // Подключаемый модуль Ansible для реализации индикатора выполнения
│ │ └── <...>
│ ├── collection/ // collection-скрипты для Ansible
│ │ └── <...>
│ ├── files/ // Библиотека 'libkms_substitute_plugin.so'
│ │ └── <...>
│ ├── 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/ // Набор вспомогательных скриптов и шаблонов для настройки стенда
│ │ ├── make_all_module.sh // Скрипт сборки модулей релизной версии pangolin-installer
│ │ ├── pangolin_tuner // Инструмент для работы с конфигурацией СУБД Pangolin, предназначенный для оптимизации производительности баз данных в различных сценариях использования
│ │ │ └── <...>
│ │ ├── role_model_clean_scripts // Скрипты очистки ролевой модели
│ │ │ └── <...>
│ │ ├── pangolin-installer // Каталог для утилиты pangolin-installer
│ │ │ └── <...>
│ │ ├── custom_dev.yml // Шаблон для установки/обновления СУБД Pangolin по умолчанию
│ │ ├── update_error_types.yml // Список возможных ошибок каждого типа работы инсталлятора
│ │ └── yamllint // Утилита для проверки корректности и валидности передаваемых в скрипты установки/обновления параметров
│ │ │ └── <...>
│ ├── 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 // Инструмент установки СУБД для упрощения использования скриптов автоматизации
│ ├── pg_inplace_upgrade // Инструмент для обновления (inplace_upgrade.sh) и его вспомогательные скрипты
│ │ └── <...>
│ ├── 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-dbms-{short_version}-{product_version}-{OS}.x86_64.rpm // Пакет СУБД Pangolin с серверной частью
├── pangolin-dbms-{short_version}-client-{product_version}-{OS}.x86_64.rpm // Пакет СУБД Pangolin с клиентской частью
├── pangolin-dbms-{short_version}-libpq-{product_version}-{OS}.x86_64.rpm // Пакет с libpq частью СУБД
├── pangolin-dbms-{short_version}-libpq-dev-{product_version}-{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-{product_version}-{OS}.x86_64.rpm // Мета-пакет (см. раздел «Мета-пакеты для процесса ручной пошаговой установки СУБД Pangolin»)
├── pangolin-core-{product_version}-{OS}.x86_64.rpm // Мета-пакет (см. раздел «Мета-пакеты для процесса ручной пошаговой установки СУБД Pangolin»)
├── pangolin-manager-dcs-{product_version}-{OS}.x86_64.rpm // Мета-пакет (см. раздел «Мета-пакеты для процесса ручной пошаговой установки СУБД Pangolin»)
├── pangolin-full-{product_version}-{OS}.x86_64.rpm // Мета-пакет (см. раздел «Мета-пакеты для процесса ручной пошаговой установки СУБД Pangolin»)
├── regid.2011-07.ru.sbertech_psq-{product_version}.swidtag // SWIDTAG-файл продукта
│
├── repositories/ // Содержит структуру и метаданные репозиториев (шаблоны), которые будут использованы для дальнейшей установки и обновления
│ └── <...>
│
├── timescaledb/ // Расширение для работы с временными рядами
│ └── pangolin-timescaledb-{short_version}-apache-{version_component}-{OS}-x86_64.rpm
│
├── utilities/
│ ├── pangolin-auth-password-{product_version}-{OS}.x86_64.rpm // Утилита засекречивания паролей, представленных в открытом виде
│ ├── pangolin-auth-reencrypt-{product_version}-{OS}.x86_64.rpm // Сервис для автоматического перекодирования параметров подключения
│ ├── pangolin-certs_rotate-{product_version}-{OS}.x86_64.rpm // Сервис ротации сертификатов
│ ├── pangolin-diagnostic-tool-{product_version}-{OS}.x86_64.rpm // Утилита формирования диагностического отчета
│ ├── pangolin-tuner-{version_component}-{OS}.x86_64.rpm // Утилита для работы с конфигурацией СУБД Pangolin, предназначенный для оптимизации производительности БД в различных сценариях использования
│ └── pangolin-security-utilities-{product_version}-{OS}.x86_64.rpm // Утилиты для настройки защиты администратора, TDE и безопасной конфигурации
│
└── 3rdparty/ // Содержит архив со сторонними зависимостями (различные модули и расширения)
└── 3rdparty.tar.gz // Расширения 3rd Party (см. документ «Описание расширений продукта СУБД Pangolin»)
├── pangolin-ansible-venv-controlled-{product_version}-{OS}.x86_64.rpm // Набор pip-пакетов для развертывания виртуального окружения (на целевых хостах), необходимый для корректного запуска Ansible-скриптов
├── pangolin-ansible-venv-controller-{product_version}-{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}-{OS}.x86_64.rpm // Расширение, которое преобразует PostgreSQL в распределенную базу данных для высокой производительности в любом масштабе
├── license_rest_api/ // Сервер лицензий MVP Rest Licensing
│ └── liblicense_rest_api.so
├── migration_tools/
│ ├── pangolin-pgloader-{version_component}-{OS}.x86_64.rpm // Утилита миграции данных из MySQL, SQLite и SQL Server
│ └── ora2pg // Утилита миграции данных из Oracle в PostgreSQL в бинарном виде
│ └── <...>
├── pg_anon/
│ └── pangolin-pg-anon-{version_component}-{OS}.x86_64.rpm // Утилиты для реализации обфускации (анонимизации) данных
├── pg_background/
│ ├── pangolin-pg-background-{version_component}-{OS}.x86_64.rpm // Расширение для управления пользовательскими фоновыми процессами
│ └── pg_background-src.tar.gz // Исходный код компонента
├── pg_dbms_lock/
│ ├── pangolin-pg-dbms-lock-{version_component}-{OS}.x86_64.rpm // Утилита для создания пользовательских блокировок
│ └── pg_dbms_lock-src.tar.gz // Исходный код компонента
├── pgcompacttable/
│ └── pangolin-pgcompacttable-{version_component}-{OS}.x86_64.rpm // Утилита для реорганизации данных в таблицах и перестроения индексов для возврата дискового пространства без влияния на производительность базы данных
├── pgcopydb/
│ ├── pangolin-pgcopydb-{version_component}-{OS}.x86_64.rpm // Утилита для автоматизации копирования базы данных на другой сервер
│ └── pgcopydb.tar.gz // Исходный код компонента
├── pgq/
│ └── pangolin-pgq-{version_component}-{OS}.x86_64.rpm // Расширение для организации монопольных очередей сообщений
├── pgq_coop/
│ └── pangolin-pgq-coop-{version_component}-{OS}.x86_64.rpm // Утилита для организация кооперативных очередей сообщений
├── pgqd/
│ └── pangolin-pgqd-{version_component}-{OS}.x86_64.rpm // Менеджер для поддержки очередей сообщений
├── pgrouting/
│ ├── pangolin-pgrouting-{version_component}-{OS}.x86_64.rpm // Расширение, добавляющее поддержку геопространственной маршрутизации и другие функции сетевого анализа
│ └── pgrouting-src.tar.gz // Исходный код компонента
├── pgsql_http/
│ └── pangolin-pgsql-http-{version_component}-{OS}.x86_64.rpm // Расширение для поддержки HTTP-клиента на уровне СУБД, позволяющее обращаться к REST-сервисам посредством SQL-запросов
├── pldebugger/
│ └── pangolin-pldebugger-{version_component}-{OS}.x86_64.rpm // Расширение, предоставляющее API для выполнения функций с возможностью остановки в заданной точке, пошаговым выполнением и просмотром значений переменных
├── plpgsql_check/
│ └── pangolin-plpgsql-check-{version_component}-{OS}.x86_64.rpm // Статический анализатор кода PL/pgSQL для PostgreSQL
├── postgis/
│ ├── pangolin-postgis-{version_component}-{OS}.x86_64.rpm // Утилита добавляет поддержку географических объектов
│ └── <...> // Библиотеки необходимые для поддержки различных геоданных
├── timescaledb/
│ └── pangolin-timescaledb-community-{version_component}-{OS}.x86_64.rpm // Расширение для работы с временными рядами
└── pcloudn-1.20.6-distrib.tar.gz // Оператор Pangolin CloudNative для построения кластерной конфигурации в среде оркестрации Kubernetes