Восстановление WAL-файлов из нескольких хранилищ
Предусловия
Пользователем получен список URI хранилищ WAL-файлов.
Файл ${PGDATA}/copywala_meta/wal_destination_uri.history содержит историю изменений wal_destination_uri, которые совершались только командой copywala config set. Если параметр wal_destination_uri в copywala.yaml изменялся вручную или внешней СРК, список хранилищ, в которых могут находиться WAL-файлы, необходимо уточнить у администраторов СРК.
Шаги сценария
-
Пользователь выполняет команду
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 -
-
Пользователь настраивает в конфигурационном файле
postgresql.confцелевую точку во времени, до которой требуется произвести восстановление. -
Пользователь создает
recovery.signalдля переключения в режим восстановления. -
Пользователь запускает сервер СУБД.
-
После завершения восстановления данных пользователь выполняет команду
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.