33.2. Настройка базы данных репозитория PPEM #

По умолчанию PPEM использует схему public для объектов, которые хранятся в базе данных репозитория.

Если эту схему нельзя использовать, например, в соответствии с политиками безопасности вашей организации, то вы можете настроить PPEM так, чтобы использовалась другая схема. Это можно сделать как сразу после установки во время настройки менеджера (рекомендуемый вариант), так и позднее, как показано ниже.

Описанная ниже процедура не ограничивается только схемой public: она может применяться для изменения любой схемы, которая используется базой данных репозитория.

Важно

В процессе изменения схемы для базы данных репозитория PPEM станет недоступен на короткий промежуток времени. Рекомендуется запланировать период обслуживания для выполнения процедуры.

Чтобы настроить другую схему для базы данных репозитория в работающей инсталляции PPEM:

  1. На каждом сервере, где установлен менеджер PPEM, остановите службы менеджера:

    systemctl stop ppem ppem-gui
  2. На любом сервере, где установлен менеджер PPEM, откройте файл конфигурации /etc/ppem-manager.yml и найдите раздел repo.

    Раздел выглядит следующим образом:

    repo:
      name: "имя_базы_данных_репозитория"
      schema: "старое_имя_схемы"
      user: "имя_пользователя_СУБД"
      password: "пароль_пользователя_СУБД"
  3. Обратите внимание на значение параметра repo.schema: это имя схемы, которое будет изменено.

    Если параметр repo.schema отсутствует, значит, используется схема public.

  4. Подключитесь к базе данных репозитория, указанной в параметре repo.name, от имени владельца базы данных (обычно это пользователь ppem):

    sudo -u владелец_базы_данных psql -d имя_базы_данных
  5. Прежде чем переходить к следующим шагам, создайте резервную копию базы данных репозитория и подтвердите целостность этой резервной копии.

  6. Переключите схему для базы данных репозитория:

    1. Измените текущее имя схемы на любое другое по вашему выбору:

      ALTER SCHEMA старое_имя_схемы RENAME TO новое_имя_схемы;
    2. (Необязательно) При необходимости создайте схему со старым именем заново:

      1. Создайте новую пустую схему:

        CREATE SCHEMA старое_имя_схемы;
      2. Назначьте созданной схеме необходимые права.

        Обычно вы можете назначить те же самые права, которые были назначены переименованной схеме. Чтобы посмотреть права, назначенные схеме, выполните запрос:

        \dn+ новое_имя_схемы

      Пример 33.1. Как создать заново распространённую схему public

      CREATE SCHEMA public;
      
      GRANT USAGE, CREATE ON SCHEMA public TO pg_database_owner;
      GRANT USAGE ON SCHEMA public TO PUBLIC;

  7. На каждом сервере, где установлен менеджер PPEM, выполните следующие действия:

    1. Откройте файл конфигурации /etc/ppem-manager.yml и найдите раздел repo.

    2. Измените параметр repo.schema или добавьте его, если он отсутствует:

      repo:
        name: "имя_базы_данных_репозитория"
        schema: "новое_имя_схемы"
        user: "имя_пользователя_СУБД"
        password: "пароль_пользователя_СУБД"

      Используйте новое имя схемы, которое было задано выше при помощи команды ALTER SCHEMA ... RENAME TO ....

    3. Сохраните обновлённый файл конфигурации.

    4. Запустите службы, используемые менеджером:

      systemctl start ppem ppem-gui
    5. Убедитесь, что службы успешно запущены и доступны:

      systemctl status ppem ppem-gui
  8. Войдите в веб-приложение PPEM и проверьте следующее: