Переход на поставку дополнительных компонентов в виде rpm-пакетов#
В рамках перехода на поставку дополнительных компонентов СУБД Pangolin в виде rpm-пакетов, был осуществлен рефакторинг кода скриптов развертывания/обновления.
Исключены:
Возможность создания каталога для конфигурационного файла Pangolin Pooler.
Старые версии
templateдляmanager_backup.Файлы
requirements.txt/requirements_altlinux.txt.Параметры пользовательского конфигурационного файла и проверки валидности их значений:
pip_repository: index_url: https://pypi.org/simple/ trusted_host: pypi.org- name: Verify repository URL ansible.builtin.assert: that: "pip_repository.index_url is regex(valid_url_regex)" fail_msg: "{{ message_installer.fails.verify_url.format(pip_repository.index_url, 'pip_repository.index_url') }}" - name: Verify pip_repository.trusted_host hostname is valid ansible.builtin.assert: that: "pip_repository.trusted_host is regex(valid_url_regex)" fail_msg: "{{ message_installer.fails.verify_url.format(pip_repository.trusted_host, 'pip_repository.trusted_host') }}"Возможность добавлению в service-файл Pangolin Manager параметра
KillMode=process;Создание файлов
backup_state,wal_backup_stateна стенде с компонентомpangolin-backup-tools.Поддержка
confd(Удаление/Откат).Слияние bootstrap-частей конфигурационных файлов после миграции.
Возможность изменения конфигурации
pg_hbaв процессе работы скриптов обновления. Конфигурация после миграции должна остаться исходной:- name: disable {{ as_group }} connection in pg_hba ansible.builtin.include_role: name: common tasks_from: update_edit_pghba vars: _pghba_remove_params: [ '^(.*)host(.*)all(.*){{ as_group }}(.*)0.0.0.0/0(.*)scram-sha-256(.*)$' ] _pghba_action_type: 'remove' when: inventory_hostname != 'etcd' and action_type == 'install'Изменение пользовательских настроек
postgresql_clean_logsв процессе обновления:- name: remove cron job ansible.builtin.cron: name: "a job for postgresql clean logs" state: absent become_user: postgres ignore_errors: yes - name: setup deleting and compressing old logs ansible.builtin.template: src: postgresql_clean_logs.j2 dest: "{{ global_scripts }}/postgresql_clean_logs" owner: postgres group: postgres mode: '0700' - name: create cron job ansible.builtin.cron: name: "a job for postgresql clean logs" special_time: daily job: "{{ global_scripts }}/postgresql_clean_logs" become_user: postgresСоздание sos-файла.
Создание variables-файла для работы СРК-службы.
control-скрипты.
Изменена логика конфигурирования pg_quote в процессе обновления:
Создание и заполнение файла производится только в процессе первичной установки.
После обновления данная функциональность не включается, а работает с параметрами по умолчанию. В случае, если на стенде данная функциональность включена, то ее настройка не поменяется, а именно:
Значение для параметра
postgresql.pg_quote, в случае конфигурации с pangolin-manager, сохранится с исходного стенда.Содержимое файла
pg_quote.conf, в случае конфигурации без pangolin-manager, сохранится с исходного стенда.
Доработки скриптов развертывания/обновления:
rpm-пакет
pangolin-ansible-venv-controller, входящий в состав дистрибутива и располагающийся в3rdparty, позволяет развернуть виртуальное окружения для корректного запуска скриптов развертывания/обновления в один шаг. В его состав будут входить все необходимые зависимости для запуска ansible-скриптов.Реализована возможность выбирать целевой вариант поиска и использования пакетов для развертывания/обновления. Путь поиска необходимых пакетов, как исходной версии, так и новой, по умолчанию ведет к локальному репозиторию. В пользовательский конфигурационный файл был добавлен параметр
pangolin_rpms_path, позволяющий задать путь к каталогу с пакетами на управляющем узле.Добавлен параметр
pangolin_block_update, с помощью которого можно контролировать блокировку обновления, если один из исходных пакетов для восстановления найден не был. Значение по умолчанию -true. В случае значения для данного параметраfalse, автоматический откат будет отключен, а процесс обновления заблокирован не будет:pangolin_rpms_path: "" # Path to rpm packages new/old version on localhost pangolin_block_update: true # Block update if rpm for recovery not exists. If set false, automation recovery will be disabled if rpm current version not exists
Изменение в permission-части
Cкорректированы и приведены к общему виду разрешения (permissions) на рабочие каталоги и файлы компонентов. Общим подходом стал уход от выдачи прав для пользователей other-группы. Добавлено создание дополнительной группы pangolin_users, куда входят пользователь postgres и kmadmin_pg.
По умолчанию uid/gid следующие:
postgres - 26;
kmadmin_pg - 126;
pangolin_users - 226.
Ниже приведена развертка каталогов с правами/владельцем и группой.
Исполняемые файлы:
/usr
# клиентская часть
/pangolin-dbms-<minor>.<major>-client - 755 root:root
/pangolin-dbms-client/<dir> - 755 root:root
/pangolin-dbms-client/bin/* - 555 root:root
/pangolin-dbms-client/lib/* - 444 root:root
/pangolin-dbms-client/share/* - 444 root:root
# серверная часть
/pangolin-<minor>.<major> - 775 postgres:pangolin_users
/bin - 770 postgres:pangolin_users
/initprotection - 550 kmadmin_pg:kmadmin_pg
/pangolin-linker - 500 root:root
/<остальные файлы> - 500 postgres:postgres
/lib - 770 postgres:pangolin_users
/lib/* - 440 postgres:pangolin_users
/3rdparty - 700 postgres:postgres
/3rdparty/* - 700 postgres:postgres
/share - 705 postgres:postgres
/share/{man,doc} - 705 postgres:postgres
/share/{man,doc}/* - 605 postgres:postgres
/share/*.sample - 600 postgres:postgres
/share/<остальные файлы> - 400 postgres:postgres
/share/<остальные каталоги> - 700 postgres:postgres
/share/<остальные каталоги>/* - 600 postgres:postgres
/opt
# pangolin-diagnostic-tool
/pangolin-diagnostic-tool - 700 postgres:postgres
/pangolin-diagnostic-tool/<dir> - 700 postgres:postgres
/pangolin-diagnostic-tool/lib/* - 400 postgres:postgres
/pangolin-diagnostic-tool/bin/* - 500 postgres:postgres
/pangolin-diagnostic-tool/share/* - 600 postgres:postgres
# pangolin-pgloader
/pangolin-pgloader - 700 postgres:postgres
/pangolin-pgloader/<dir> - 700 postgres:postgres
/pangolin-pgloader/lib/* - 400 postgres:postgres
/pangolin-pgloader/bin/* - 500 postgres:postgres
/pangolin-pgloader/share/* - 600 postgres:postgres
# pangolin-manager
/pangolin-manager - 700 postgres:postgres
/pangolin-manager/<dir> - 700 postgres:postgres
/pangolin-manager/share/* - 600 postgres:postgres
/pangolin-manager/bin/* - 500 postgres:postgres
/pangolin-manager/lib/* - 400 postgres:postgres
# pangolin-pooler
/pangolin-pooler - 700 postgres:postgres
/pangolin-pooler/<dir> - 700 postgres:postgres
/pangolin-pooler/bin/* - 500 postgres:postgres
/pangolin-pooler/lib/* - 400 postgres:postgres
/pangolin-pooler/share/* - 600 postgres:postgres
# pangolin-backup-tools
/pangolin-backup-tools - 700 postgres:postgres
/pangolin-backup-tools/<dir> - 700 postgres:postgres
/pangolin-backup-tools/bin/* - 500 postgres:postgres
/pangolin-backup-tools/lib/* - 400 postgres:postgres
/pangolin-backup-tools/share/* - 600 postgres:postgres
# pangolin_license
/pangolin_license - 770 postgres:pangolin_users
/pangolin_license/* - 440 postgres:pangolin_users
# pangolin-certs-rotate
/pangolin-certs-rotate - 700 postgres:postgres
/pangolin-certs-rotate/<dir> - 700 postgres:postgres
/pangolin-certs-rotate/lib/* - 400 postgres:postgres
/pangolin-certs-rotate/bin/* - 500 postgres:postgres
/pangolin-certs-rotate/share/* - 600 postgres:postgres
# pangolin-auth-reencrypt
/pangolin-auth-reencrypt - 770 postgres:pangolin_users
/pangolin-auth-reencrypt/<dir> - 770 postgres:pangolin_users
/pangolin-auth-reencrypt/lib/* - 440 postgres:pangolin_users
/pangolin-auth-reencrypt/bin/* - 550 postgres:pangolin_users
/pangolin-auth-reencrypt/share/* - 660 postgres:pangolin_users
# pangolin-security-utilities
/pangolin-security-utilities - 700 kmadmin_pg:kmadmin_pg
/pangolin-security-utilities/<dir> - 700 kmadmin_pg:kmadmin_pg
/pangolin-security-utilities/lib/* - 400 kmadmin_pg:kmadmin_pg
/pangolin-security-utilities/bin/* - 500 kmadmin_pg:kmadmin_pg
/pangolin-security-utilities/share/* - 600 kmadmin_pg:kmadmin_pg
# /pangolin-common - начиная с версии 6.3.0 перестает использоваться
Конфигурационные файлы:
/etc
# pangolin-backup-tools
/pangolin-backup-tools - 700 postgres:postgres
/pangolin-backup-tools/* - 600 postgres:postgres
# pangolin-pooler
/pangolin-pooler - 700 postgres:postgres
/pangolin-pooler/* - 600 postgres:postgres
# pangolin-manager
/pangolin-manager - 700 postgres:postgres
/pangolin-manager/* - 600 postgres:postgres
# pangolin-certs-rotate
/pangolin-certs-rotate - 700 postgres:postgres
/pangolin-certs-rotate/* - 600 postgres:postgres
# pangolin-auth-reencrypt
/pangolin-auth-reencrypt - 770 postgres:pangolin_users
/pangolin-auth-reencrypt/enc_util.cfg - 440 postgres:pangolin_users
/pangolin-auth-reencrypt/postgres - 700 postgres:postgres
/pangolin-auth-reencrypt/postgres/enc_params.cfg.postgres - 600 postgres:postgres
/pangolin-auth-reencrypt/kmadmin_pg - 700 kmadmin_pg:kmadmin_pg
/pangolin-auth-reencrypt/kmadmin_pg/enc_params.cfg.kmadmin_pg - 600 kmadmin_pg:kmadmin_pg
# pangolin-security-utilities
/pangolin-security-utilities - 770 kmadmin_pg:pangolin_users
/pangolin-security-utilities/enc_connection_settings.cfg - 640 kmadmin_pg:pangolin_users
/pangolin-security-utilities/enc_connection_settings_certs.cfg - 640 kmadmin_pg:pangolin_users
/etc/pangolin-auth-encryption - 700 postgres:postgres
/etc/pangolin-auth-encryption/enc_util_auth_settings.cfg - 600 postgres:postgres
# /postgres - начиная с версии 6.3.0 перестает использоваться. В процессе обновлении все файлы, находящиеся в данном каталоге, будут перемещены в целевые директории.
Service-файлы:
/etc/systemd/system/* - 600 postgres:postgres
/home/postgres/.config/user/systemd/* - 600 postgres:postgres
/home/kmadmin_pg/.config/user/systemd/* - 600 kmadmin_pg:kmadmin_pg
Файлы логов по умолчанию:
/opt
pangolin-pooler/ - 700 postgres:postgres
log/ - 700 postgres:postgres
pangolin-pooler-* - 600 postgres:postgres
pangolin-manager/ - 700 postgres:postgres
log/ - 700 postgres:postgres
pangolin-manager-* - 600 postgres:postgres
pangolin-certs-rotate/ - 700 postgres:postgres
log/ - 700 postgres:postgres
pangolin-certs-rotate-* - 600 postgres:postgres
pangolin-auth-reencrypt/ - 770 postgres:pangolin_users
log/ - 770 postgres:pangolin_users
pangolin-auth-reencrypt-postgres* - 600 postgres:postgres
pangolin-auth-reencrypt-kmadmin_pg* - 600 kmadmin_pg:kmadmin_pg
/var/log
pangolin-pgqd-* - 600 postgres:postgres
# ротация логов
/etc/logrotate.d/
pangolin-auth-reencrypt-postgres - 644 root:root
pangolin-auth-reencrypt-kmadmin_pg - 644 root:root
pangolin-pooler - 644 root:root
pangolin-certs-rotate - 644 root:root
pangolin-manager - 644 root:root
pangolin-dbms - 644 root:root
Изменения в части логирования
Логирование всех компонентов осуществляется в отдельные файлы логов. Формат наименования: pangolin-имя-компонента-%Y-%m-%d_%H%M%S.log.
Развертывание компонента через rpm-пакет происходит следующим образом:
По умолчанию запись файла лога будет осуществляться в
/opt/pangolin-имя-компонента/log/pangolin-имя-компонента-%Y-%m-%d_%H%M%S.log, за исключением логовpangolin-dbms, которые пишутся в каталог/usr/pangolin-<major>.<minor>/log/pangolin-dbms-%Y-%m-%d_%H%M%S.log.Необходима установка индивидуального пути хранения файлов логов через
env. Перед установкой пакета нужно задать путь через параметрLOG_DIR_PANGOLIN_ИМЯ_КОМПОНЕНТА:LOG_DIR_PANGOLIN_ИМЯ_КОМПОНЕНТА=/pgerrorslog/pangolin_pooler/
При развертывании компонента скриптами развертывания/обновления по умолчанию запись файла лога происходит в каталог {{ PGLOGS }}/имя-компонента/pangolin-имя-компонента-%Y-%m-%d_%H%M%S.log, за исключением логов pangolin-dbms, которые используют каталог {{ PGLOGS }}/pangolin-имя-компонента-%Y-%m-%d_%H%M%S.log.
PGLOGS - по умолчанию соответствует директории/pgerrorlogs/0<major>/. Это необходимо для сохранения обратной совместимости.
В процессе установки пакета будет добавляться конфигурация ротации логов через logrotate для следующих компонентов:
pangolin-dbms;pangolin-manager;pangolin-pooler;pangolin-auth-reencrypt;pangolin-certs-rotate.
В рамках обновление компонента настройки логирования не меняются. Файлы сохраняются в исходных каталогах с исходным наименованием.
Внимание!
Задать индивидуальное имя файла c логом для компонентов при развертывании через rpm невозможно. Для корректировки имени файла необходимо после развертывания скорректировать путь в конфигурационном файле компонента и файл ротации для компонента в
/etc/logrotate.d/имя-компонента.
Примечание:
Настройка ротации логов аудита (для Pangolin DBMS и Pangolin Manager) не производится.
Изменения в хранении конфигурационного файла, генерируемого утилитой pg_auth_config
Конфигурационный файл enc_util_auth_settings.cfg перенесен из /etc/postgres/ в /etc/pangolin-auth-encryption/ по причине ухода от путей, используемых ванильной версией postgresql. Ввиду этого после обновления путь до этого файла в конфигурационном файле службы перешифрования enc_util.cfg будет изменен.
Изменения в части формирования rpm
rpm/deb упрощает распространение, управление и обновление программного обеспечения. Поставка компонентов в виде rpm/deb-пакетов является предпочтительной. С помощью rpm/deb можно:
Использовать стандартные средства управления пакетами (например,
yum/dnfилиapt-get) для установки, переустановки, удаления, обновления и проверки rpm-пакетов.Осуществлять запросы и проверку пакетов в системе, поскольку rpm поддерживает базу данных установленных пакетов и их файлов.
Использовать метаданные для описания пакетов, инструкций по их установке. Каждый rpm/deb-пакет содержит метаданные, описывающие компоненты пакета, версию, выпуск, размер, URL-адрес проекта, инструкции по установке и так далее.
Добавлять пакеты в репозитории, что позволяет легко находить и развертывать компоненты. Исходный код дополнительных компонентов СУБД Pangolin упакован в rpm/deb-пакеты. Для каждого компонента имеется файл спецификации.
Изменения в рамках pangolin-dbms и pangolin-dbms-client
Скорректирован путь развертывания бинарных файлов и библиотек компонентов pangolin-dbms и pangolin-dbms-client. Из путей PGHOME/PGHOME_CLIENT исключена patch-версия:
# Исходный путь
/usr/pangolin-<major>.<minor>.<patch>/
# Целевой путь
/usr/pangolin-<major>.<minor>/
Изменения в рамках Pangolin Pooler, Pangolin Manager и pangolin-backup-tools
В логике rpm-пакетов компонентов pangolin-backup-tools, Pangolin Manager и Pangolin Pooler не создается физический каталог /opt/pangolin-Х.Х.Х с версией компонета в названии, а также не генерируются ссылки относительно /opt/pangolin, /opt/pangolin-Х. При развертывании создается только один физический каталог /opt/pangolin-имя-компонента.
Из состава клиентской части СУБД исключена утилита pg_probackup. Теперь она поставляется в составе компонента pangolin-backup-tools. Утилиты расположена после развертывания rpm-пакета по пути /opt/pangolin-backup-tools/bin/.
В скриптах развертывания/обновления изменена логика развертывания. Теперь компонент pangolin-backup-tools при первичном развертывании или при обновлении стенда, на котором этого компонента не было, устанавливается по умолчанию.
Удалены следующие параметры из пользоваетельского конфигурационного файла:
################################################## 4. BACKUP SETTINGS (optional-bank) #################################################```
SRC: false
manage_backup_bin: /opt/omni/lbin
backup_tools_conf_path: /etc/pangolin-backup-tools
Изменения pangolin-certs-rotate
Сервис ротации сертификатов и обновления файлов CRL входит в состав продукта и поставляется в виде rpm в составе дистрибутива в каталоге utilities/.
Бинарные файлы/библиотеки при развертывании rpm-пакета располагаются по следующим путям:
/opt/pangolin-certs-rotate/bin/
/opt/pangolin-certs-rotate/lib/
Сервисный файл компонента при развертывании rpm-пакета располагается по пути:
/etc/systemd/system/pangolin-certs-rotate.service или /home/postgres/.config/systemd/user/pangolin-certs-rotate.service
Конфигурационный файл компонента при развертывании rpm-пакета располагается по пути: /etc/pangolin-certs-rotate/pangolin-certs-rotate.yml.
Файл с PID процесса компонента при развертывании rpm-пакета располагается по следующему пути: /var/run/pangolin-certs-rotate/pangolin-certs-rotate.pid.
Примечание:
Версия компонента привязан к версии продукта.
Изменения pangolin-auth-reencrypt
Cервис для автоматического перешифрования параметров подключения без привлечения администратора базы данных и администратора безопасности, входит в состав продукта, поэтому будет поставляться в виде rpm в составе дистрибутива в каталоге utilities/.
Бинарные файлы и библиотеки при развертывании rpm-пакета располагаются по следующему пути:
/opt/pangolin-auth-reencrypt/bin/
Cервисный файла компонента при развертывании rpm-пакета располагается по пути:
/etc/systemd/system/pangolin-auth-reencrypt@.service или /home/postgres/.config/systemd/user/pangolin-auth-reencrypt.service
Конфигурационный файл компонента при развертывании rpm-пакета располагается по следующему пути:
/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
Файл с PID процесса компонента при развертывании rpm-пакета располагается по следующему пути:
/var/run/pangolin-auth-reencrypt/pangolin-auth-reencrypt-postgres.pid
/var/run/pangolin-auth-reencrypt/pangolin-auth-reencrypt-kmadmin_pg.pid
При развертывании конфигурационные файлы, расположенные по старому пути /etc/postgres остаются в исходном состоянии. Скрипты развертывания/обновления или post-скрипты rpm их не изменяют. За исключением enc_util.cfg. В процессе обновления он будет перемещен в целевой каталог.
Изменения pangolin-security-utilities
Данный компонент представляет собой комплекс следующих утилит:
setup_kms_credentials
encrypt_params_file
generate_encryption_key
Данный набор утилит входят в состав продукта, поэтому будет поставляться в виде rpm в составе дистрибутива в каталоге utilities/.
Бинарные файлы и библиотеки при развертывании rpm-пакета располагаются по следующему пути:
/opt/pangolin-security-utilities/bin/
Конфигурационный файл компонента при развертывании rpm-пакета располагается по следующему пути:
/etc/pangolin-security-utilities/enc_connection_settings.cfg
/etc/pangolin-security-utilities/enc_connection_settings_certs.cfg
Версия компонента привязан к версии продукта.
Ввиду того, что пути расположения файлов подключения к серверам VAULT изменились, после обновления пути до этих файлов будут изменены в конфигурационном файле службы перешифрования enc_util.cfg.
Изменения pangolin-ansible-venv-controller
Набор pip-пакетов для развертывания виртуального окружения, которое необходимо для корректного запуска ansible-скриптов на управляющем узле. Данный компонент не входит в состав продукта, поэтому поставляется в виде rpm в составе дистрибутива в каталоге 3rdparty/.
Список pip-пакетов, которые вошли в состав компонента:
cffi==1.15.0
cryptography==3.3.1
Jinja2==3.0.3
jmespath==0.10.0
MarkupSafe==2.0.1
netaddr==0.7.19
packaging==24.0
pycparser==2.21
pyparsing==3.0.6
PyYAML==6.0
resolvelib==0.5.5
six==1.16.0
ansible==4.10.0
Виртуальное окружение при развертывании rpm располагается по пути /opt/pangolin-ansible-venv-controller/.
Изменения pangolin-ansible-venv-controlled
Набор pip-пакетов для развертывания виртуального окружения, необходимый для корректного запуска ansible-скриптов на управляемом узле. Данный компонент не входит в состав продукта, поэтому поставляется в виде rpm в составе дистрибутива в каталоге 3rdparty/. Изменил свое название с ansible-venv на pangolin-ansible-venv-controlled. Также поменялся способ версионирования. Версия компонента привязана к версии продукта. При развертывании старый пакет ansible-venv будет удален.
Изменения pangolin-pgloader
Утилита для миграции данных из MSSQL в PostgreSQL SE. Данный компонент не входит в состав продукта, поэтому поставляется в виде rpm в составе дистрибутива в каталоге 3rdparty/migration_tools/.
Утилита при развертывании rpm-пакета располагается по пути: /opt/pangolin-pgloader/bin/.
Изменения ora2pg
Утилита для миграции данных из Oracle в Pangolin. Данный компонент не входит в состав продукта, поэтому поставляется в виде бинарных файлов в составе дистрибутива в каталоге 3rdparty/migration_tools/. Для сборки rpm-пакета подготовлен spec-файл. Для настройки данного компонента необходимо воспользоваться инструкцией из официальной документации.
Изменения pangolin-diagnostic-tool
Утилита для сбора диагностической информации об узле СУБД. Данный компонент входит в состав продукта, поэтому будет поставляться в виде rpm в составе дистрибутива в каталоге utilities/.
Утилита при развертывании располагается по пути /opt/pangolin-diagnostic-tool/bin/.
Изменения pangolin-pgsql-http
Расширение для поддержки http-клиента на уровне СУБД, позволяющее обращаться к REST-сервисам посредством SQL-запросов. Данный компонент не входит в состав продукта, поэтому поставляется в виде rpm в составе дистрибутива в каталоге 3rdparty/pgsql_http/. Версия компонента привязана к ванильной версии расширения.
Расположение расширения при развертывании rpm пакета: /usr/pangolin-<major>.<minor>/share/extension/.
Расположение библиотек расширения при развертывании rpm-пакета: /usr/pangolin-<major>.<minor>/lib/.
Изменения pangolin-pg-background
Расширение для управления пользовательскими фоновыми процессами. Данный компонент не входит в состав продукта, поэтому поставляется в виде rpm в составе дистрибутива в каталоге 3rdparty/pg_background/. Версия компонента привязана к ванильной версии расширения.
Расширение при развертывании rpm располагается по пути /usr/pangolin-<major>.<minor>/share/extension/.
Библиотеки расширения располагаются в /usr/pangolin-<major>.<minor>/lib/.
Изменения pangolin-pgq и pangolin-pgq-coop
Расширения для поддержки очередей сообщений со стороны СУБД. Данные компоненты не входят в состав продукта, поэтому поставляются в виде rpm в составе дистрибутива в каталогах 3rdparty/pgq/ и 3rdparty/pgq-coop/. Версии компонентов привязаны к ванильным версиям расширений. Расширения располагаются в /usr/pangolin-<major>.<minor>/share/extension/.
Библиотеки расширений при развертывании rpm располагаются в /usr/pangolin-<major>.<minor>/lib/.
Изменения pangolin-pgqd
Сервис для поддержки очередей сообщений со стороны СУБД. Данный компонент не входит в состав продукта, поэтому поставляется в виде rpm в составе дистрибутива в каталоге 3rdparty/pgqd/. Версия компонента привязана к ванильной версии расширения.
Бинарный файл компонента при развертывании rpm-пакета расположен в /usr/pangolin-<major>.<minor>/bin/.
Сервисный файл компонента расположен по пути /etc/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-pldebugger
Расширение, предоставляющее API для выполнения функций с возможностью остановки в заданной точке, пошаговым выполнением и просмотром значений переменных. Расширение интегрировано с решениями от pg_admin и dbeaver (данные утилиты предоставляют графический интерфейс для разработки с использованием возможностей расширения), а также позволяет использовать функции API прямо из psql, поскольку они представляют собой стандартные SQL-функции. Данный компонент не входит в состав продукта, поэтому поставляется в виде rpm в составе дистрибутива в каталоге 3rdparty/pldebugger/. Версия компонента привязана к ванильной версии расширения.
Расширение при развертывании rpm-пакета располагается в /usr/pangolin-<major>.<minor>/share/extension/.
Библиотеки расширения при развертывании находятся по пути: /usr/pangolin-<major>.<minor>/lib/.
Изменения pangolin-pgcopydb
Утилита для автоматизации копирования базы данных на другой сервер. Основным вариантом использования pgcopydb является миграция на новую систему PostgreSQL либо для нового оборудования, новой архитектуры, либо для новой основной версии PostgreSQL. Данный компонент не входит в состав продукта, поэтому поставляется в виде rpm в составе дистрибутива в каталоге 3rdparty/pgcopydb/. Версия компонента привязана к ванильной версии расширения.
Расширение располагается при развертывании по следующему пути: /usr/pangolin-<major>.<minor>/bin/.
Изменения pangolin-pgsql-check
Статический анализатор кода plpgsql для PostgreSQL, предоставляющее набор функций для анализа и профилирования функций и процедур, написанных на языке PL/pgSQL. Данный компонент не входит в состав продукта, поэтому поставляется в виде rpm в составе дистрибутива в каталоге 3rdparty/pgsql_check/. Версия компонента привязан к ванильной версии расширения.
Расположение расширения при развертывании rpm-пакета: /usr/pangolin-<major>.<minor>/share/extension/.
Расположение библиотек расширения при развертывании: /usr/pangolin-<major>.<minor>/lib/.
Изменения pangolin-postgis
Расширение, добавляющее поддержку хранения, индексирования и запроса геопространственных данных. Данный компонент не входит в состав продукта, поэтому поставляется в виде rpm в составе дистрибутива в каталоге 3rdparty/postgis/. Версия компонента привязана к ванильной версии расширения.
Расположение расширения при развертывании: /usr/pangolin-<major>.<minor>/share/extension/.
Расположение сторонних библиотек расширения: /usr/local/lib.
Изменения pangolin-pgrouting
Расширение, добавляющее поддержку геопространственной маршрутизации и другие функции сетевого анализа. Данный компонент не входит в состав продукта, поэтому поставляется в виде rpm в составе дистрибутива в каталоге 3rdparty/pgrouting/. Версия компонента привязана к ванильной версии расширения.
Расположение расширения при развертывании rpm-пакета: /usr/pangolin-<major>.<minor>/share/extension/.
Расположение библиотек расширения: /usr/pangolin-<major>.<minor>/lib/.