3.4. Использование pg_probackup3 в удалённом режиме #

pg_probackup3 поддерживает работу в удалённом режиме. Данные для резервного копирования можно получать от сервера Postgres Pro удалённо по встроенному репликационному протоколу, а резервные копии можно сохранять в хранилище S3 или на сервер SSH по протоколу SFTP.

В зависимости от типа операции можно выбрать следующие сценарии:

  • Чтобы подключиться к серверу Postgres Pro для создания резервной копии, используйте стандартные параметры подключения: --pghost, --pgport, --pgdatabase и --pguser.

  • Для сохранения, восстановления и проверки резервных копий в хранилище S3 укажите параметры S3. За подробностями обратитесь к Раздел 2.12.

  • Для работы с резервными копиями на сервере SSH по протоколу SFTP укажите параметры SSH. Обратитесь к Раздел 2.11 за подробностями.

Таким образом и каталог резервных копий, и экземпляр Postgres Pro, для которого делается резервная копия, могут располагаться на удалённых серверах.

Типичная схема его использования выглядит так:

  • В системе резервного копирования настройте pg_probackup3, как описывается в подразделе Установка и настройка. Для команд init, add-instance, backup и set-config необходимо задать параметры подключения, указывающие на сервер с экземпляром Postgres Pro.

  • Если вы хотите в удалённом режиме использовать доставку WAL в режиме ARCHIVE, настройте непрерывное архивирование WAL с сервера баз данных, как описано в подразделе Настройка непрерывного архивирования WAL. Для этого в команде archive-push требуется задать параметры SSH, указывающие на сервер, где находится каталог резервных копий.

Примечание

Для работы в режиме непрерывного архивирования файлов WAL исполняемые файлы pg_probackup3 должны находиться на сервере Postgres Pro. Вызов pg_probackup3 с командами archive-push и archive-get осуществляется сервером Postgres Pro в соответствии с параметрами archive_command и restore_command в его конфигурации.

Например, чтобы создать полную архивную локальную копию кластера Postgres Pro, работающего в удалённой системе с адресом 192.168.0.2, подключившись к серверу через порт 2302 с именем пользователя postgres, выполните:

pg_probackup3 backup -B каталог_копий --instance=имя_экземпляра -b FULL --pguser=postgres --pghost=192.168.0.2 --pgport=2302

Чтобы создать резервную копию на сервере SSH с адресом 10.0.3.77 для пользователя ubuntu, выполните:

pg_probackup3 backup -B каталог_копий --instance=имя_экземпляра -b FULL --pguser=postgres --pghost=192.168.0.2 --pgport=2302 --remote-host=10.0.3.77 --remote-user=ubuntu

Скрипт для создания резервной копии в хранилище S3:

export PG_PROBACKUP_S3_PORT=9000
export PG_PROBACKUP_S3_ACCESS_KEY=admin
export PG_PROBACKUP_S3_SECRET_ACCESS_KEY=password
export PG_PROBACKUP_S3_REGION=us-west-2
export PG_PROBACKUP_S3_HOST=10.0.3.77
export PG_PROBACKUP_S3_BUCKET_NAME=test
pg_probackup3 backup -B каталог_копий --instance=имя_экземпляра -b FULL --pguser=postgres --pghost=192.168.0.2 --pgport=2302 --s3

Чтобы настроить непрерывное архивирование WAL на сервере SSH с адресом 10.0.3.77, выполните следующую команду:

pg_probackup3 archive-push -B каталог_копий --instance=имя_экземпляра --wal-file-name=%f --compress-algorithm=zstd --remote-host=10.0.3.77 --remote-user=ubuntu

Чтобы настроить непрерывное архивирование WAL в хранилище S3, выполните следующую команду:

pg_probackup3 archive-push -B каталог_копий --instance=имя_экземпляра --compress-algorithm=zstd --wal-file-name=%f --s3 --config-file=s3.config

При этом параметры подключения должны быть сохранены в файле s3.config в каталоге данных Postgres Pro.