Настройка непрерывного архивирования WAL

Для восстановления на момент времени и создания резервных копий с использованием режима доставки WAL ARCHIVE должно осуществляться непрерывное архивирование WAL. Чтобы настроить непрерывное архивирование, выполните следующие действия:

  • Задайте для параметра wal_level значение выше minimal.

  • Если вы настраиваете резервное копирование на ведущем сервере, параметр archive_mode должен иметь значение on или always.

  • Установите параметр archive_command:

    archive_command = '"путь_инсталляции/pg_probackup" archive-push -B "каталог_копий" --instance=имя_экземпляра --wal-file-name=%f [параметры_удалённого_режима]'

Здесь путь_инсталляции — путь к каталогу установленной версии pg_probackup3, которую вы хотите использовать, каталог_копий и имя_экземпляра должны указывать на уже проинициализированный для данного кластера БД копируемый экземпляр, а параметры_удалённого_режима должны задаваться только в случае расположения архива WAL в удалённой системе. Подробнее все возможные параметры archive-push рассматриваются в archive-push.

После этих подготовительных действий вы сможете использовать режим доставки WAL ARCHIVE, а также выполнять восстановление на момент времени.

Вы можете просмотреть текущее состояние архива WAL, воспользовавшись командой show. За подробностями обратитесь к «Просмотр оглавления архива WAL».

Примечание

Вместо использования команды pg_probackup3 archive-push вы можете воспользоваться любым другим средством, при условии, что в процессе непрерывного архивирования сегменты WAL будут попадать в каталог каталог_копий/wal/имя_экземпляра. Для сжатия сегментов, если в нём есть потребность, должен использоваться алгоритм gzip, а сжатые файлы сегментов должны иметь расширение .gz.

Примечание

Организовать непрерывное архивирование можно не только с помощью параметров archive_mode и archive_command, но и применяя утилиту pg_receivewal. В этом случае аргумент pg_receivewal -D каталог должен указывать на каталог каталог_копий/wal/имя_экземпляра. Программа pg_probackup3 принимает сжатые WAL, которые может сохранять pg_receivewal. Стратегию архивирования «без потерь» можно реализовать только с использованием pg_receivewal.