Глава 4. Использование

Содержание

Создание резервной копии
Режим ARCHIVE
Режим STREAM
Внешние каталоги
Монтирование каталога резервных копий с помощью FUSE
Восстановление кластера
Частичное восстановление
Выполнение восстановления на момент времени (PITR)
Управление каталогом резервных копий
Просмотр информации о резервных копиях
Просмотр оглавления архива WAL
Объединение резервных копий
Удаление резервных копий
Использование pg_probackup3 в удалённом режиме
Запуск pg_probackup3 в параллельных потоках
Проверка целостности данных
Проверка страниц
Проверка резервных копий
Настройка политики хранения
Удаление ненужных копий
Закрепление резервных копий
Настройка политики хранения архива WAL
Другие примеры
Минимальная настройка

Создание резервной копии

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

pg_probackup3 backup -B каталог_копий --instance=имя_экземпляра -b режим_копирования -s источник_копирования -i ид_резервной_копии

Здесь режим_копирования может принимать следующие значения: FULL, DELTA и PTRACK.

А источник_копирования может принимать одно из следующих значений: DIRECT, BASE и PRO.

Предупреждение

В режимах источников данных BASE и DIRECT не поддерживается CFS.

Примечание

В режимах источников данных BASE и DIRECT поддерживается резервное копирование только в режимах FULL и DELTA.

Некоторые параметры можно не указывать, в зависимости от цели пользователя:

  • Если режим_копирования не указан, по умолчанию используется режим FULL.

  • PRO — значение по умолчанию для источник_копирования.

  • Если идентификатор резервной копии не указан явно в теле запроса, ид_резервной_копии примет значение даты и времени, когда резервная копия была создана.

  • Если идентификатор резервной копии указан и включает в себя путь к каталогу, каталог_копий и имя_экземпляра можно не указывать. Например: -i /mnt/ramdisk/backups/2.backup.

  • Если путь к каталогу данных не указан ни через каталог_копий, ни через параметр --backup-id, текущий каталог будет использоваться в качестве каталога по умолчанию.

  • Если опустить идентификатор родительской копии при выполнении инткрементального копирования, pg_probackup3 использует последнюю подходящую копию из цепочки копий. Если родительскую резервную копию подобрать не удастся, процесс копирования завершится ошибкой.

  • Если указан параметр --from-full, инкрементальная резервная копия будет создана из последней родительской полной копии.

Режим ARCHIVE

Режим ARCHIVE используется в качестве режима доставки WAL по умолчанию.

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

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

Резервное копирование ARCHIVE требует организации непрерывного архивирования, посредством которого считываются сегменты WAL, требующиеся для восстановления согласованного состояния кластера на момент создания копии.

Режим STREAM

Чтобы сделать полную резервную копию в потоковом (STREAM) режиме, добавьте флаг --stream к команде, показанной выше:

pg_probackup3 backup -B каталог_копий --instance=имя_экземпляра -b FULL --stream [--temp-slot]

Необязательный параметр --temp-slot обеспечивает наличие необходимых сегментов в случае прокрутки WAL до завершения резервного копирования.

Примечание

Хотя --temp-slot и является необязательным флагом, он может влиять на успех резервного копирования.

В отличие от копий ARCHIVE, копии типа STREAM включают все сегменты WAL, необходимые для восстановления согласованного состояния кластера на момент создания копии.

В процессе выполнения команды backup pg_probackup3 передаёт файлы WAL, содержащие записи от Start LSN до Stop LSN, в файл с резервной копией.

Даже если вы используете непрерывное архивирование, копирование в режиме STREAM может быть полезно в следующих случаях:

  • Копии типа STREAM могут быть восстановлены на сервере, не имеющем файлового доступа к архиву WAL.

  • Копии типа STREAM позволяют восстановить состояние кластера на тот момент времени, для которого уже нет файлов WAL.

Внешние каталоги

Чтобы заархивировать каталог, размещённый вне каталога данных, воспользуйтесь необязательным параметром --external-dirs, в котором можно задать путь к нужному каталогу. Если вы хотите заархивировать несколько внешних каталогов, их пути нужно разделить двоеточиями в Linux.

Например, чтобы в системе Linux включить каталоги /etc/dir1 и /etc/dir2 в полную копию экземпляра имя_экземпляра, которая будет размещаться в каталоге_копий, выполните:

pg_probackup3 backup -B каталог_копий --instance=имя_экземпляра -b FULL --external-dirs=/etc/dir1:/etc/dir2

Например, чтобы включить каталоги C:\dir1 и C:\dir2 в полную копию, в Windows нужно выполнить:

pg_probackup3 backup -B каталог_копий --instance=имя_экземпляра -b FULL --external-dirs=C:\dir1;C:\dir2

Для каждого внешнего каталога pg_probackup3 создаёт отдельный подкаталог в каталоге резервной копии и рекурсивно копирует в него всё содержимое внешнего каталога. Так как внешние каталоги, попадающие в разные резервные копии, не обязательно должны быть одинаковыми, при восстановлении кластера из инкрементальной копии будут восстановлены только те каталоги, которые относятся именно к ней. Внешние каталоги, сохранённые в предыдущих копиях, восстановлены не будут.

Чтобы нужные каталоги включались в каждую резервную копию вашего кластера, их список можно сохранить в файле конфигурации pg_probackup3.conf, воспользовавшись командой set-config с ключом --external-dirs.

Примечание

Внешние каталоги не поддерживаются в режиме BASE.