H.2. pg_diag_setup#
H.2. pg_diag_setup #
- H.2.1. Введение
- H.2.2. Системные требования
- H.2.3. Установка
- H.2.4. Использование
- H.2.5. Параметры командной строки
- H.2.6. Что делает программа
- H.2.7. Формат файла профиля
- H.2.8. Безопасность
- H.2.9. Примеры резервного копирования
- H.2.10. Ведение журнала
- H.2.11. Ограничения
- H.2.12. Устранение неполадок
- H.2.13. Рекомендации
- H.2.14. Поддержка
pg_diag_setup — инструмент управления конфигурацией для Tantor BE
H.2.1. Введение #
Инструмент для управления конфигурацией Tantor BE с поддержкой профилей и системы откатов.
H.2.2. Системные требования #
Python 3.x
Tantor BE с доступом через Unix Domain Socket
Утилита
psqlв PATH
H.2.3. Установка #
Скопируйте файл
pg_diag_setup.pyна сервер.Создайте директорию
profilesи поместите в нее файлы профилей (например,default.yaml).Сделайте скрипт исполняемым:
chmod +x pg_diag_setup.py
H.2.4. Использование #
H.2.4.1. Базовый запуск (проверка конфигурации) #
sudo ./pg_diag_setup.py --port 5432 --unix-socket-dir /tmp
H.2.4.2. Применение профиля конфигурации #
sudo ./pg_diag_setup.py --port 5432 --unix-socket-dir /tmp --profile default.yaml --bin-dir /opt/path_to_binaries
H.2.4.3. Просмотр доступных резервных копий #
sudo ./pg_diag_setup.py --port 5432 --unix-socket-dir /tmp --list-backups
H.2.4.4. Откат изменений #
sudo ./pg_diag_setup.py --port 5432 --unix-socket-dir /tmp --undo 20240529_143022 --bin-dir /opt/path_to_binaries
H.2.5. Параметры командной строки #
--port- порт Tantor BE (по умолчанию: 5432)--unix-socket-dir- директория Unix socket (по умолчанию: /tmp)--profile- файл профиля YAML для применения--undo- временная метка для отката изменений--list-backups- показать доступный список резервных копий--bin-dir- директория, где установлен дистрибутив Tantor BE-V- показать номер версии утилиты-v- включить подробный режим
H.2.6. Что делает программа #
H.2.6.1. Задачи 1-2: Подключение и определение конфигурации #
Подключается к Tantor BE через Unix Domain Socket
Определяет расположение файла конфигурации
postgresql.conf
H.2.6.2. Задача 3: Проверка postgresql.auto.conf #
Проверяет наличие файла
postgresql.auto.conf
H.2.6.3. Задача 4: Анализ параметров #
Парсит все файлы конфигурации
Создает список параметров с указанием источника
Учитывает include-директивы
H.2.6.4. Задача 5: Применение профиля #
Читает YAML профиль с настройками расширений
Проверяет доступность расширений через
pg_available_extensionsСоздает резервную копию конфигурации
Обновляет
shared_preload_librariesбез перезаписи существующих библиотекДобавляет новые параметры в конец
postgresql.confПомечает добавленные параметры комментарием “Added by pg_diag_setup”
H.2.6.5. Задача 6: Система откатов #
Создает резервные копии с временными метками
Позволяет откатить изменения к любой предыдущей резервной копии
H.2.7. Формат файла профиля #
extension_name:
shared_preload_lib: library_name
create_cmd: CREATE EXTENSION command
params:
parameter1: value1
parameter2: value2
H.2.8. Безопасность #
Все изменения сопровождаются созданием резервных копий
Существующие параметры не перезаписываются
Проверка доступности расширений перед установкой
Все новые параметры добавляются в конец файла
H.2.9. Примеры резервного копирования #
После выполнения изменений создаются файлы вида:
postgresql.conf_backup_pds_20240529_143022postgresql.auto.conf_backup_pds_20240529_143022
H.2.10. Ведение журнала #
Программа выводит подробную информацию о всех выполняемых операциях:
Найденные файлы конфигурации
Список обнаруженных параметров
Создание резервных копий
Примененные изменения
Результаты операций
H.2.11. Ограничения #
Требуется утилита
psqlРаботает только с Unix Domain Socket подключениями
Простой YAML парсер (не поддерживает все возможности YAML)
Не выполняет автоматический перезапуск Tantor BE
H.2.12. Устранение неполадок #
Ошибка подключения к Tantor BE
Проверьте правильность указания
--unix-socket-dirУбедитесь, что Tantor BE запущен
Проверьте права доступа к socket файлу
Ошибка чтения конфигурации
Проверьте права доступа к файлам конфигурации
Убедитесь, что пользователь имеет права на чтение/запись
Ошибка парсинга YAML
Проверьте синтаксис файла профиля
Убедитесь в правильности отступов (2 и 4 пробела)
H.2.13. Рекомендации #
Всегда делайте полные резервные копии перед применением изменений
Тестируйте изменения в тестовой среде
После применения профиля может потребоваться перезапуск Tantor BE
Ведите учет применяемых профилей и временных меток
H.2.14. Поддержка #
Если возникают проблемы, проверьте:
Логи Tantor BE
Права доступа к файлам
Синтаксис YAML профиля
Доступность расширений в системе