3.5. Удалённое восстановление #
Удалённое восстановление в pg_probackup3 — это функциональность, позволяющая восстанавливать резервные копии напрямую на удалённый сервер без необходимости копировать файлы архива вручную. Такой подход существенно сокращает время восстановления и количество ручных операций при аварийном восстановлении, миграции или автоматическом развёртывании.
Функциональность удалённого восстановления состоит из следующих основных компонентов:
Команда send-backup в утилите pg_probackup3 для передачи данных через указанный порт на удалённый сервер с использованием многопоточности.
Утилита pgpro_backupstream, запускаемая вручную на удалённом сервере, для получения, распаковки и восстановления данных.
Для выполнения удалённого восстановления необходимо соблюдать следующие условия:
В локальной системе:
Должны быть установлены утилита pg_probackup3 и библиотека
libpgprobackup
.Должен быть обеспечен доступ к каталогу резервных копий.
В удалённой системе:
Должна быть установлена утилита pgpro_backupstream.
Примечание
pgpro_backupstream запускается вручную.
Каталог
PGDATA
должен быть пустым и открытым для записи.Примечание
На данный момент инкрементальное восстановление в удалённом режиме не поддерживается.
Выбранный порт должен быть открыт и доступен для входящих подключений.
Чтобы восстановить экземпляр на удалённый сервер, выполните следующие шаги:
В локальной системе выполните команду send-backup через утилиту pg_probackup3, чтобы отправить данные резервной копии на удалённый сервер по указанному порту:
pg_probackup3 send-backup -B
каталог_копий
--instance=имя_экземпляра
-iид_резервной_копии
-pпорт
-hсервер
[--no-merge]Флаг
--no-merge
отключает слияние цепочки резервных копий перед передачей данных. В противном случае цепочка резервных копий будет автоматически объединена во временный файл, который удалится после завершения передачи.В удалённой системе запустите команду
restore
через утилиту pgpro_backupstream для приёма и восстановления данных:pgpro_backupstream restore -D
путь_для_восстановления
[-pпорт
]Если порт не указан, используется STDIN.
Важно
Запустите утилиту pgpro_backupstream в удалённой системе до того, как начать передачу данных с помощью команды send-backup.