33.2. Настройка базы данных репозитория PPEM #
По умолчанию PPEM использует схему public для объектов, которые хранятся в базе данных репозитория.
Если эту схему нельзя использовать, например, в соответствии с политиками безопасности вашей организации, то вы можете настроить PPEM так, чтобы использовалась другая схема. Это можно сделать как сразу после установки во время настройки менеджера (рекомендуемый вариант), так и позднее, как показано ниже.
Описанная ниже процедура не ограничивается только схемой public: она может применяться для изменения любой схемы, которая используется базой данных репозитория.
Важно
В процессе изменения схемы для базы данных репозитория PPEM станет недоступен на короткий промежуток времени. Рекомендуется запланировать период обслуживания для выполнения процедуры.
Чтобы настроить другую схему для базы данных репозитория в работающей инсталляции PPEM:
На каждом сервере, где установлен менеджер PPEM, остановите службы менеджера:
systemctl stop ppem ppem-gui
На любом сервере, где установлен менеджер PPEM, откройте файл конфигурации
/etc/ppem-manager.ymlи найдите разделrepo.Раздел выглядит следующим образом:
repo: name:
"имя_базы_данных_репозитория"schema:"старое_имя_схемы"user:"имя_пользователя_СУБД"password:"пароль_пользователя_СУБД"Обратите внимание на значение параметра
repo.schema: это имя схемы, которое будет изменено.Если параметр
repo.schemaотсутствует, значит, используется схемаpublic.Подключитесь к базе данных репозитория, указанной в параметре
repo.name, от имени владельца базы данных (обычно это пользовательppem):sudo -u
владелец_базы_данныхpsql -dимя_базы_данныхПрежде чем переходить к следующим шагам, создайте резервную копию базы данных репозитория и подтвердите целостность этой резервной копии.
Переключите схему для базы данных репозитория:
Измените текущее имя схемы на любое другое по вашему выбору:
ALTER SCHEMA
старое_имя_схемыRENAME TOновое_имя_схемы;(Необязательно) При необходимости создайте схему со старым именем заново:
Создайте новую пустую схему:
CREATE SCHEMA
старое_имя_схемы;Назначьте созданной схеме необходимые права.
Обычно вы можете назначить те же самые права, которые были назначены переименованной схеме. Чтобы посмотреть права, назначенные схеме, выполните запрос:
\dn+
новое_имя_схемы
Пример 33.1. Как создать заново распространённую схему
publicCREATE SCHEMA public; GRANT USAGE, CREATE ON SCHEMA public TO pg_database_owner; GRANT USAGE ON SCHEMA public TO PUBLIC;
На каждом сервере, где установлен менеджер PPEM, выполните следующие действия:
Откройте файл конфигурации
/etc/ppem-manager.ymlи найдите разделrepo.Измените параметр
repo.schemaили добавьте его, если он отсутствует:repo: name:
"имя_базы_данных_репозитория"schema:"новое_имя_схемы"user:"имя_пользователя_СУБД"password:"пароль_пользователя_СУБД"Используйте новое имя схемы, которое было задано выше при помощи команды
ALTER SCHEMA ... RENAME TO ....Сохраните обновлённый файл конфигурации.
Запустите службы, используемые менеджером:
systemctl start ppem ppem-gui
Убедитесь, что службы успешно запущены и доступны:
systemctl status ppem ppem-gui
Войдите в веб-приложение PPEM и проверьте следующее:
Сводная информация о PPEM. Убедитесь, что информация о репозитории корректна.
Схемы, которые используются в базе данных репозитория PPEM. Убедитесь, что объекты базы данных не принадлежат схеме
старое_имя_схемы.Правила очистки для базы данных репозитория. Убедитесь, что ни одно из правил не использует схему
старое_имя_схемы.Статусы агентов PPEM . Все агенты должны быть в статусе
online.