Перейти к основному содержимому

Восстановление WAL-файлов из нескольких хранилищ

Предусловия

Пользователем получен список URI хранилищ WAL-файлов.

примечание

Файл ${PGDATA}/copywala_meta/wal_destination_uri.history содержит историю изменений wal_destination_uri, которые совершались только командой copywala config set. Если параметр wal_destination_uri в copywala.yaml изменялся вручную или внешней СРК, список хранилищ, в которых могут находиться WAL-файлы, необходимо уточнить у администраторов СРК.

Шаги сценария

  1. Пользователь выполняет команду copywala restore-wal prepare-multi-restore.

    Справка по команде copywala restore-wal prepare-multi-restore

    Описание:

    Команда выполняет подготовку к восстановлению WAL-файлов из нескольких хранилищ:

    • сохраняет список URI хранилищ в параметре wal_restore.multi_restore_wal_uris конфигурационного файла copywala.yaml;

    • формирует кеш-файл multi_restore.wals.cache, в котором хранится информация о соответствии WAL-файлов и хранилищ, где они находятся. Кеш-файл используется при последующих вызовах restore_command для поиска необходимого WAL-файла.

      Расположение кеш-файла задается параметром wal_restore.multi_restore_cache_path в copywala.yaml. Если параметр не указан, файл создается в каталоге /var/pbr/copywala/.

    Синтаксис:

        
    copywala restore-wal prepare-multi-restore [flags]

    Обязательные параметры:

    ФлагОписание
    --uri <wal destination uri>URI хранилища WAL-файлов. Может быть указан несколько раз

    Опциональные параметры:

    [flags] – доступны следующие флаги:

    ФлагОписание
    -h|--helpПоказать справку по команде
    -c|--config <path to copywala config>Использовать конфигурационный файл, отличный от файла по умолчанию: /etc/pbr/copywala.yaml
  2. Пользователь настраивает в конфигурационном файле postgresql.conf целевую точку во времени, до которой требуется произвести восстановление.

  3. Пользователь создает recovery.signal для переключения в режим восстановления.

  4. Пользователь запускает сервер СУБД.

  5. После завершения восстановления данных пользователь выполняет команду copywala restore-wal disable-multi-restore.

    Справка по команде copywala restore-wal disable-multi-restore

    Описание:

    Команда выполняет удаление кеш-файла и «сбрасывает» значение параметра multi_restore_wal_uris в copywala.yaml.

    Синтаксис:

        
    copywala restore-wal disable-multi-restore [flags]

    Обязательные параметры:

    Нет.

    Опциональные параметры:

    [flags] – доступны следующие флаги:

    ФлагОписание
    -h|--helpПоказать справку по команде
    -c|--config <path to copywala config>Использовать конфигурационный файл, отличный от файла по умолчанию: /etc/pbr/copywala.yaml

Исключительные сценарии

В CLI выводится сообщение об ошибке для случаев:

  • отсутствует кеш-файл multi_restore.wals.cache;
  • не найден WAL-файл;
  • кеш-файл multi_restore.wals.cache поврежден;
  • ошибка при записи кеш-файла multi_restore.wals.cache.