Состав дистрибутива
В скриптах сборки СУБД Pangolin (далее – Pangolin) реализовано формирование составных компонентов zip-пакета и упаковка их в пакет PSQ-{version}-{OS}-distrib.zip.
Обозначения
Далее в разделе, в приведенных схемах дистрибутива, будут указаны следующие обозначения:
PSQ– код продукта СУБД Pangolin;{OS}– наименование операционной системы и ее версия;{product_version}– версия продукта (текущая версия: 8.2.0);{release_version}– версия релиза компонента (текущая версия: 8.2.0);{short_version}– короткая версия продукта (текущая: 8.2);{base_version}– базовая версия продукта (текущая: 8);{version_component}– версия компонента.
Составные части zip-пакета:
PSQ-{product_version}-{OS}-distrib.zip // Дистрибутив продукта СУБД Pangolin
├── PSQ-{product_version}-{OS}-cyclonedx-distrib.json // SBOM-файл для продукта
├── PSQ-{product_version}-{OS}-documentation-distrib.zip // Дистрибутив документации на программный продукт
├── PSQ-{product_version}-{OS}-documentation-distrib.pom
├── PSQ-{product_version}-{OS}-extensions-distrib.zip // Выделенные расширения в отдельные пакеты серверной части СУБД
├── PSQ-{product_version}-{OS}-extensions-distrib.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 // Скрипт по формированию единого дистрибутива
├── PSQ-{product_version}-{OS}-untrusted-distrib.zip // Архив со сторонними зависимостями (расширениями Untrusted), для которых осуществляется полная поддержка в части обновления и сопровождения
└── PSQ-{product_version}-{OS}-untrusted-distrib.pom
Распакованный дистрибутив
Подготовленный к процессу установки дистрибутив продукта СУБД Pangolin содержит перечисленные ниже элементы:
Сведения
Подробное описание по структуре, установке и составу пакетов представлено в разделе«Описание поставляемых rpm/deb-пакетов».
PSQ-{product_version}-distrib/
└── distributive/ // Каталог с распакованным дистрибутивом продукта СУБД Pangolin
├── debug/ // Набор пакетов для установки отладочных символов, собранных для основных модулей и утилит
│ ├── pangolin-backup-tools-debuginfo-{version_component}-{OS}.x86_64.rpm
│ ├── pangolin-dbms-{base_version}-debuginfo-{product_version}-{OS}.x86_64.rpm
│ ├── pangolin-dbms-{base_version}-client-debuginfo-{product_version}-{OS}.x86_64.rpm
│ ├── pangolin-dbms-{base_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
│ └── 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/ // Содержит инструмент развертывания и обновления
│ └── utilities/
│ └── pangolin-installer-{version_component}-{OS}.x86_64.rpm // Инструмент установки СУБД для упрощения использования скриптов автоматизации
│
├── pangolin-backup-tools-{version_component}-{OS}.x86_64.rpm // Инструменты резервного копирования
├── pangolin-copywala-{version_component}-{OS}.x86_64.rpm // Пакет агента резервного копирования CopyWala (подробнее изучите раздел «Утилита резервного копирования СopyWala»)
├── pangolin-dbms-{base_version}-{product_version}-{OS}.x86_64.rpm // Пакет СУБД Pangolin с серверной частью
├── pangolin-dbms-{base_version}-client-{product_version}-{OS}.x86_64.rpm // Пакет СУБД Pangolin с клиентской частью
├── pangolin-dbms-{base_version}-libpq-{product_version}-{OS}.x86_64.rpm // Пакет с libpq частью СУБД
├── pangolin-dbms-{base_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.2021-12.ru.sbertech_psq-{product_version}.swidtag // SWIDTAG-файл продукта
│
├── repositories/ // Содержит структуру и метаданные репозиториев (шаблоны), которые будут использованы для дальнейшей установки и обновления
│ └── <...>
│
├── timescaledb/ // Расширение для работы с временными рядами
│ └── pangolin-timescaledb-{base_version}-apache-{version_component}-{release_version}.{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
│ ├── pangolin-inplace-upgrade-{product_version}-{OS}.x86_64.rpm // Утилита для обновления системных каталогов Pangolin без изменения структуры данных
│ ├── pangolin-license-verify-{product_version}-{OS}.x86_64.rpm // Инструмент для верификации лицензии Pangolin (требуется для автоматизации)
│ ├── pangolin-secret-storage-client-{product_version}-{OS}.x86_64.rpm // Набор утилит хранилища секретов Pangolin (требуется для автоматизации)
│ └── pangolin-password-hash-{version_component}-{OS}.x86_64.rpm // Утилита получения хеша пароля Pangolin (требуется для автоматизации)
│
├── extensions/ // Содержит архив с расширениями серверной части СУБД, выделенных в отдельные пакеты
│ └── extensions.tar.gz
│ ├── pangolin-dbms-{base_version}-oracle-fdw-{product_version}-{OS}.x86_64.rpm // Расширение oracle_fdw
| └── pangolin-dbms-{base_version}-tds-fdw-{product_version}-{OS}.x86_64.rpm // Расширение tds_fdw
│
├── 3rdparty/ // Содержит архив со сторонними зависимостями (различные модули и расширения), поддержка которых не осуществляется
│ └── 3rdparty.tar.gz // Расширения 3rd Party (подробнее смотрите документ «Описание расширений продукта СУБД Pangolin»)
│ ├── pangolin-installer-venv-controlled-{product_version}-{OS}.x86_64.rpm // Набор pip-пакетов для развертывания виртуального окружения (на целевых хостах), необходимый для корректного запуска Ansible-скриптов
│ ├── pangolin-installer-venv-controller-{product_version}-{OS}.x86_64.rpm // Пакет позволяет развернуть виртуальное окружения для корректного запуска сценариев автоматизированного развертывания/обновления
│ ├── pangolin-backup-tools-venv/
│ │ └── pangolin-backup-tools-venv-{version_component}-{OS}.x86_64.rpm // Обязательная зависимость для компонента pangolin-backup-tools
│ ├── pangolin-manager-venv/
│ │ └── pangolin-manager-venv-{version_component}-{OS}.x86_64.rpm // Обязательная зависимость для компонента Pangolin Manager
│ ├── citus/
│ │ └── pangolin-citus-{version_component}-{release_version}.{OS}.x86_64.rpm // Расширение, которое преобразует СУБД в распределенную БД для высокой производительности
│ ├── 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 // Исходный код компонента
│ ├── pgcompacttable/
│ │ └── pangolin-pgcompacttable-{version_component}-{release_version}.{OS}.x86_64.rpm // Утилита для реорганизации данных в таблицах и перестроения индексов
│ ├── 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-сервисам
│ ├── pldebugger/
│ │ └── pangolin-pldebugger-{version_component}-{release_version}.{OS}.x86_64.rpm // Расширение, предоставляющее возможность отладки PL/PgSQL
│ ├── 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 // Расширение для работы с временными рядами
│ ├── pcloudn-1.20.6-distrib.tar.gz // Оператор Pangolin CloudNative для построения кластерной конфигурации в среде оркестрации Kubernetes
| └── pangolin_deps_packages.tar.gz // Пакеты зависимостей для СУБД Pangolin
│
└── untrusted-distrib/ // Содержит архив с недоверенными скриптовыми (процедурными) языками
└── untrusted-distrib.tar.gz // Расширения Untrusted (подробнее смотрите документ «Описание расширений продукта СУБД Pangolin»)
├── pangolin-dbms-{base_version}-plperl-{product_version}-{OS}.x86_64.rpm // Загружаемый недоверенный процедурный язык PL/Perl
├── pangolin-dbms-{base_version}-plpython3-{product_version}-{OS}.x86_64.rpm // Загружаемый недоверенный процедурный язык PL/Python
├── pangolin-dbms-{base_version}-pltcl-{product_version}-{OS}.x86_64.rpm // Процедурный язык PL/Tcl
├── <...>
└── debug/ // Пакеты с отладочными символами Untrusted-расширений
├── pangolin-dbms-{base_version}-plperl-debuginfo-{product_version}-{OS}.x86_64.rpm
├── pangolin-dbms-{base_version}-plpython3-debuginfo-{product_version}-{OS}.x86_64.rpm
├── pangolin-dbms-{base_version}-pltcl-debuginfo-{product_version}-{OS}.x86_64.rpm
└── <...>