3.1. Создание резервной копии #
Чтобы создать резервную копию, выполните следующую команду:
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, инкрементальная резервная копия будет создана из последней родительской полной копии.
3.1.1. Режим ARCHIVE #
Режим ARCHIVE используется в качестве режима доставки WAL по умолчанию.
Чтобы создать полную копию в режиме ARCHIVE доставки WAL, выполните:
pg_probackup3 backup -Bкаталог_копий--instance=имя_экземпляра-b FULL
Резервное копирование ARCHIVE требует организации непрерывного архивирования, посредством которого считываются сегменты WAL, требующиеся для восстановления согласованного состояния кластера на момент создания копии.
3.1.2. Режим 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.
3.1.3. Внешние каталоги #
Чтобы заархивировать каталог, размещённый вне каталога данных, воспользуйтесь необязательным параметром --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.