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

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

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

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

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

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

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

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

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

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

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

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

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

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

Режим ARCHIVE

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

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

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.