3.5. Удалённое восстановление #

Удалённое восстановление в pg_probackup3 — это функциональность, позволяющая восстанавливать резервные копии напрямую на удалённый сервер без необходимости копировать файлы архива вручную. Такой подход существенно сокращает время восстановления и количество ручных операций при аварийном восстановлении, миграции или автоматическом развёртывании.

Функциональность удалённого восстановления состоит из следующих основных компонентов:

  • Команда send-backup в утилите pg_probackup3 для передачи данных через указанный порт на удалённый сервер с использованием многопоточности.

  • Утилита pgpro_backupstream, запускаемая вручную на удалённом сервере, для получения, распаковки и восстановления данных.

Для выполнения удалённого восстановления необходимо соблюдать следующие условия:

  • В локальной системе:

    • Должны быть установлены утилита pg_probackup3 и библиотека libpgprobackup.

    • Должен быть обеспечен доступ к каталогу резервных копий.

  • В удалённой системе:

    • Должна быть установлена утилита pgpro_backupstream.

      Примечание

      pgpro_backupstream запускается вручную.

    • Каталог PGDATA должен быть пустым и открытым для записи.

      Примечание

      На данный момент инкрементальное восстановление в удалённом режиме не поддерживается.

    • Выбранный порт должен быть открыт и доступен для входящих подключений.

Чтобы восстановить экземпляр на удалённый сервер, выполните следующие шаги:

  1. В локальной системе выполните команду send-backup через утилиту pg_probackup3, чтобы отправить данные резервной копии на удалённый сервер по указанному порту:

    pg_probackup3 send-backup -B каталог_копий --instance=имя_экземпляра -i ид_резервной_копии -p порт -h сервер [--no-merge]

    Флаг --no-merge отключает слияние цепочки резервных копий перед передачей данных. В противном случае цепочка резервных копий будет автоматически объединена во временный файл, который удалится после завершения передачи.

  2. В удалённой системе запустите команду restore через утилиту pgpro_backupstream для приёма и восстановления данных:

    pgpro_backupstream restore -D путь_для_восстановления [-p порт]

    Если порт не указан, используется STDIN.

Важно

Запустите утилиту pgpro_backupstream в удалённой системе до того, как начать передачу данных с помощью команды send-backup.