pg_probackup3
pg_probackup3 — управление резервным копированием и восстановлением кластеров баз данных Postgres Pro
Синтаксис
pg_probackup3 add-instance -B каталог_копий -D каталог_данных --instance имя_экземпляра --skip-if-exists
pg_probackup3 archive-get -B каталог_копий --instance имя_экземпляра --wal-file-path путь_файлов_wal --wal-file-name имя_файла_wal [параметр...]
pg_probackup3 archive-push -B каталог_копий --instance имя_экземпляра --wal-file-path путь_файлов_wal --wal-file-name имя_файла_wal [параметр...]
pg_probackup3 backup -B каталог_копий --instance имя_экземпляра -b режим_копирования [параметр...]
pg_probackup3 catchup -b режим_синхронизации --destination-pgdata=путь_к_целевому_каталогу_данных [параметр...]
pg_probackup3 del-instance -B каталог_копий --instance имя_экземпляра
pg_probackup3 delete -B каталог_копий --instance имя_экземпляра -i ид_резервной_копии
pg_probackup3 file-map -B каталог_копий --instance имя_экземпляра -i ид_резервной_копии [параметр...]
pg_probackup3 fuse -B каталог_копий --mnt-path путь_монтирования --instance имя_экземпляра -i ид_резервной_копии --cache-swap-size порог_сброса_кеша --cache-dir каталог_кеша [параметр...]
pg_probackup3 help [команда]
pg_probackup3 init -B каталог_копий --skip-if-exists
pg_probackup3 merge -B каталог_копий --instance имя_экземпляра -i ид_резервной_копии [параметр...]
pg_probackup3 restore -B каталог_копий --instance имя_экземпляра [параметр...]
pg_probackup3 retention -B каталог_копий --instance имя_экземпляра { --delete-wal | --delete-expired | --merge-expired } [параметр...]
pg_probackup3 send-backup -B каталог_копий --instance имя_экземпляра -i ид_резервной_копии -p порт -h сервер [параметр...]
pg_probackup3 server-info [параметр...]
pg_probackup3 set-backup -B каталог_копий --instance имя_экземпляра -i ид_резервной_копии [параметр...]
pg_probackup3 set-config -B каталог_копий --instance имя_экземпляра [параметр...]
pg_probackup3 show -B каталог_копий [параметр...]
pg_probackup3 show-config -B каталог_копий --instance имя_экземпляра [параметр...]
pg_probackup3 validate -B каталог_копий [параметр...]
pg_probackup3 version
Справка по командной строке #
Команды #
В этом подразделе описываются команды pg_probackup3. Необязательные параметры этих команд заключаются в квадратные скобки. В подробностях все параметры описываются в подразделе Параметры.
add-instance #
pg_probackup3 add-instance -Bкаталог_копий-Dкаталог_данных--instance=имя_экземпляра[--skip-if-exists] [--wal-archive-dir=путь_каталога] [--help] [параметры_s3] [параметры_ssh] [параметры_журнала] [параметры_подключения] [параметры_сжатия] [параметры_сохранения] [параметры_буферизации]
Инициализирует новый копируемый экземпляр в каталоге каталог_копий и создаёт файл конфигурации pg_probackup3.conf, управляющий параметрами pg_probackup3, относящимися к кластеру в указанном каталоге_данных. Если каталог уже был инициализирован, сообщение об ошибке можно отключить, указав --skip-if-exists.
По умолчанию архив WAL хранится в каталоге . Чтобы указать пользовательский каталог, используйте параметр каталог_копий/wal/имя_экземпляра--wal-archive-dir. Тип хранилища (локальная файловая система, SFTP или S3) должен соответствовать конфигурации экземпляра. Каталог будет создан автоматически, если он не существует.
За подробностями обратитесь к подразделам Общие параметры и Определение копируемого экземпляра.
archive-get #
pg_probackup3 archive-get -Bкаталог_копий--instance=имя_экземпляра--wal-file-path=путь_файлов_wal--wal-file-name=имя_файла_wal[--help] [-j | --threads=число_потоков] [--batch-size=размер_порции] [--prefetch-dir=путь] [--wal-archive-dir=путь_каталога] [параметры_ssh] [параметры_журнала] [параметры_s3] [параметры_буферизации]
Копирует файлы WAL из соответствующего подкаталога каталога резервных копий в каталог журнала предзаписи кластера. Эта команда автоматически устанавливается программой pg_probackup3 в значении параметра restore_command при восстановлении архивных копий с применением архива WAL. Устанавливать её вручную не нужно, если вы используете для копий локальное хранилище или удалённый режим.
Если вы используете интерфейс S3, для обеспечения доступа сервера Postgres Pro к файлам WAL во время восстановления вы можете указать параметр --config-file, определяющий файл конфигурации S3 с требуемыми параметрами конфигурации, как описано в Подразделе «Общие параметры».
По умолчанию архив WAL хранится в каталоге . Чтобы указать пользовательский каталог, используйте параметр каталог_копий/wal/имя_экземпляра--wal-archive-dir. Тип хранилища (локальная файловая система, SFTP или S3) должен соответствовать конфигурации экземпляра. Указывать необходимо уже существующий каталог.
Postgres Pro запрашивает сегменты WAL по одному. Для ускорения восстановления вы можете воспользоваться параметром --batch-size, определяющим размер порции из нескольких копируемых сегментов WAL. Вместе с параметром --batch-size также можно применить указание -j, чтобы порции сегментов копировались в несколько потоков.
За подробностями обратитесь к подразделам Общие параметры, Параметры архивирования и Параметры сжатия.
archive-push #
pg_probackup3 archive-push -Bкаталог_копий--instance=имя_экземпляра--wal-file-name=имя_файла_wal[--wal-file-path=путь_файлов_wal] [--help] [--no-sync] [--overwrite] [--wal-archive-dir=путь_каталога] [--archive-timeout=время_ожидания] [--compress-algorithm=алгоритм_сжатия] [--compress-level=уровень_сжатия] [-j | --threads=число_потоков] [--batch-size=размер_порции] [параметры_ssh] [параметры_журнала] [параметры_s3] [параметры_буферизации]
Копирует файлы WAL в соответствующий подкаталог каталога копий, проверяя целевой экземпляр по имени_экземпляра и значению system-identifier. Если параметры экземпляра резервной копии и кластера не совпадают, операция копирования не выполняется, и выдаётся ошибка: Refuse to push WAL segment segment_name into archive. Instance parameters mismatch. (Отказано в помещении сегмента имя_сегмента в архив. Параметры экземпляра не совпадают.)
По умолчанию архив WAL хранится в каталоге . Чтобы указать пользовательский каталог, используйте параметр каталог_копий/wal/имя_экземпляра--wal-archive-dir. Тип хранилища (локальная файловая система, SFTP или S3) должен соответствовать конфигурации экземпляра. Указывать необходимо уже существующий каталог.
Если файлы, которые требуется копировать, уже имеются в каталоге копий, pg_probackup3 вычисляет и сравнивает их контрольные суммы. В случае совпадения контрольных сумм archive-push пропускает соответствующий файл и выдаёт код успешного завершения. Если же они не совпадают, операция archive-push завершается с ошибкой.
Содержимое каждого файла копируется во временный файл с расширением .part. Если такой временный файл уже существует, pg_probackup3 ждёт, что он исчезнет в течение заданного параметром archive_timeout времени, а если этого не происходит, отбрасывает его. После переноса содержимого выполняется атомарная операция переименования. Тем самым гарантируется, что в случае ошибки команды archive-push непрерывное архивирование не остановится и что при параллельном архивировании WAL из разных источников в один архив повреждение архива исключено.
Postgres Pro запрашивает сегменты WAL по одному. Для ускорения архивирования вы можете воспользоваться параметром --batch-size, определяющим размер порции из нескольких копируемых сегментов WAL. Вместе с параметром --batch-size также можно применить указание -j, чтобы порции копировались в несколько потоков.
Сегменты WAL, копируемые в архив, по умолчанию (без указания флага --no-sync) гарантированно сбрасываются на диск.
Команду archive-push можно использовать в значении параметра archive_command Postgres Pro при настройке непрерывного архивирования WAL.
За подробностями обратитесь к подразделам Общие параметры, Параметры архивирования и Параметры сжатия.
backup #
pg_probackup3 backup -Bкаталог_копий--instance=имя_экземпляра-bрежим_копирования-sисточник_данных-iид_резервной_копии[--with-file-map] [--help] [--progress] [-jчисло_потоков] [--num-write-threadsчисло_потоков] [--num-validate-threadsчисло_потоков] [--num-segments] [--create-slot] [--transfer-mode] [--no-validate] [--skip-block-validation] [--archive-timeout=время_ожидания] [--external-dirs=путь_внешнего_каталога] [--no-sync] [--note=заметка_к_копии] [параметры_подключения] [параметры_сжатия] [параметры_ssh] [параметры_закрепления] [параметры_журнала] [параметры_s3] [параметры_буферизации]
Создаёт копию экземпляра Postgres Pro.
-bрежим--backup-mode=режимВыбирает режим резервного копирования. Поддерживаются следующие режимы:
FULL,DELTAиPTRACK.-sисточник_копирования--backup-source=источник_копированияУказывает источник данных для резервного копирования. Возможные значения:
DIRECT,BASEиPRO.--num-segmentsколичество_сегментовЗадаёт количество сегментов резервной копии при её создании или объединении. Должен быть положительным целым числом.
Примечание
Если указанное значение превышает системное ограничение на количество одновременно открытых файлов, процесс завершится с ошибкой «too many open files» (слишком много открытых файлов).
--num-write-threadsчисло_потоковУказывает количество потоков для копирования файлов. Переопределяет параметр
j/--threadsдля копирования файлов.--num-validate-threadsчисло_потоковУказывает количество потоков для проверки резервной копии. Переопределяет параметр
j/--threadsдля проверки резервной копии.-C--smooth-checkpointРастягивает выполнение контрольной точки во времени. По умолчанию pg_probackup3 пытается произвести контрольную точку максимально быстро.
--streamСоздаёт потоковую резервную копию (STREAM), включая в неё все необходимые файлы WAL, получаемые от сервера по протоколу репликации.
--backup-pg-logВключает в резервную копию каталог
log. Этот каталог обычно содержит журналы сообщений сервера. По умолчанию каталогlogв копию не включается.-Eпуть_внешнего_каталога--external-dirs=путь_внешнего_каталогаВключает в создаваемую копию указанный каталог, рекурсивно копируя его содержимое в отдельный подкаталог каталога резервной копии. Этот параметр полезен для архивирования скриптов, SQL-дампов и файлов конфигурации, расположенных вне каталога данных. Если вы хотите архивировать несколько внешних каталогов, их пути нужно разделять двоеточием в Linux или точкой с запятой в Windows.
--archive-timeout=время_ожиданияЗадаёт тайм-аут для архивирования сегментов WAL и потоковой передачи (в секундах). По умолчанию pg_probackup3 ждёт выполнения этих операций 300 секунд.
--skip-block-validationОтключает проверку контрольных сумм на уровне блоков в процессе резервного копирования.
--no-validateПропускает автоматическую проверку созданной резервной копии. Этот ключ может быть полезен, если вы регулярно проверяете резервные копии и хотите сократить время создания копии.
Рекомендуется использовать этот флаг при создании резервной копии в хранилище S3. Из-за некоторых особенностей хранилищ S3 автоматическая проверка в этом случае может оказаться некорректной. Пропустите её, а затем выполните проверку с помощью отдельной команды validate.
--no-syncНе сбрасывать копируемые файлы на диск. Этот флаг позволяет несколько ускорить процесс копирования. Использование этого флага может привести к повреждению данных в случае аварии операционной системы или аппаратного сбоя. Если вы используете его, рекомендуется выполнить команду validate сразу после завершения копирования, чтобы убедиться в отсутствии проблем.
--note=заметка_к_копииЗадаёт текстовую заметку для резервной копии. Если
заметка_к_копиисодержит символы перевода строки, сохранена будет только подстрока до первого перевода строки. Максимальный размер заметки равен 1 КБ. Значение'none'удаляет текущую заметку.--with-file-mapВключает создание файлов сопоставления. Необходим для команды fuse.
--transfer-mode=режим_передачиУказывает способ передачи данных с сервера в приложение.
Примечание
Этот параметр доступен только в режиме источника данных PRO.
Возможные значения:
raw— данные передаются в несжатом виде блоками произвольного размера.packed— данные передаются в упакованном виде блоками по 128 КБ с общим заголовком.
packed— значение по умолчанию (рекомендуемое).
За подробной информацией о параметрах команды обратитесь к подразделам Общие параметры, Параметры соединения, Параметры закрепления, Параметры SSH, Параметры сжатия и Параметры ведения журнала.
За подробностями обратитесь к подразделу Создание резервной копии.
catchup #
pg_probackup3 catchup -bрежим_синхронизации--destination-pgdata=путь_к_целевому_каталогу_данных[--temp-slot] [-P | --perm-slot] [-S | --slot=имя_слота] [-j | --threads=число_потоков] [--num-write-threadsчисло_потоков] [--num-validate-threadsчисло_потоков] [-x | --exclude-path=префикс_пути] [-TСТАРЫЙ_КАТАЛОГ=НОВЫЙ_КАТАЛОГ] [параметры_подключения] [параметры_журнала] [параметры_сжатия]
Создаёт копию экземпляра Postgres Pro, не используя каталог резервных копий.
-bрежим_синхронизации--backup-mode=режим_синхронизацииВыбирает режим синхронизации. Поддерживаются следующие режимы:
FULL,DELTAиPTRACK.--destination-pgdata=путь_к_целевому_каталогу_данныхЗадаёт путь к локальному целевому каталогу данных.
-jчисло_потоков--threads=число_потоковЗадаёт число параллельных потоков для процесса
catchup.--num-write-threadsчисло_потоковУказывает количество потоков для копирования файлов. Переопределяет параметр
j/--threadsдля копирования файлов.--num-validate-threadsчисло_потоковУказывает количество потоков для проверки резервной копии. Переопределяет параметр
j/--threadsдля проверки резервной копии.--streamКопирует экземпляр в режиме доставки WAL STREAM, при котором все необходимые файлы WAL передаются с исходного сервера по протоколу репликации.
-x=префикс_пути--exclude-path=префикс_путиОпределяет префикс для файлов, которые не будут копироваться при синхронизации экземпляров Postgres Pro. Такой префикс должен содержать путь относительно каталога данных экземпляра. Если в префиксе указан каталог, ни один файл в этом каталоге не будет копирован.
Предупреждение
Используйте этот параметр с осторожностью, поскольку исключение файлов может привести к неполной синхронизации.
--temp-slotСоздаёт временный слот физической репликации для передачи WAL с копируемого экземпляра Postgres Pro. Это гарантирует, что все нужные сегменты WAL будут доступны, если в процессе копирования произойдёт переключение сегментов WAL. Этот параметр нельзя использовать с параметром
--perm-slot. По умолчанию имя временного слота —pg_probackup3_wal_streaming_, гдеидентификатор_процессаидентификатор_процесса— PID Postgres Pro. Чтобы его поменять, воспользуйтесь параметром--slot/-Sи явно укажите--temp-slot.-P--perm-slotСоздаёт постоянный слот физической репликации для передачи WAL с копируемого экземпляра Postgres Pro. Этот параметр нельзя использовать с параметром
--temp-slot. По умолчанию имя постоянного слота —pg_probackup_perm_slot, но его можно поменять, воспользовавшись параметром--slot/-S.-Sимя_слота--slot=имя_слотаЗадаёт, к какому слоту репликации подключаться для передачи WAL. Этот параметр можно указать только вместе с параметром
--stream.-TСТАРЫЙ_КАТАЛОГ=НОВЫЙ_КАТАЛОГ--tablespace-mapping=СТАРЫЙ_КАТАЛОГ=НОВЫЙ_КАТАЛОГПеремещает табличное пространство из каталога
СТАРЫЙ_КАТАЛОГвНОВЫЙ_КАТАЛОГво время восстановления. ИСТАРЫЙ_КАТАЛОГ, иНОВЫЙ_КАТАЛОГдолжны задаваться абсолютными путями. Если путь содержит знак равно (=), экранируйте этот знак обратной косой чертой. Данный параметр может указываться неоднократно для перемещения нескольких табличных пространств.
del-instance #
pg_probackup3 del-instance -Bкаталог_копий--instance=имя_экземпляра[параметры_s3] [--help] [параметры_ssh] [параметры_журнала] [параметры_буферизации]
Удаляет все резервные копии и файлы WAL, связанные с указанным экземпляром.
За подробностями о параметрах команды обратитесь к подразделу Общие параметры.
delete #
pg_probackup3 delete -Bкаталог_копий--instance=имя_экземпляра-iид_резервной_копии[--help] [--progress] [--status=статус_резервной_копии] [--dry-run] [параметры_журнала] [параметры_ssh] [параметры_s3] [параметры_буферизации]
Удаляет резервные копии с указанными ид_резервной_копии.
--dry-runВыполняет пробный запуск команды
delete, который не вносит никаких реальных изменений: файлы на диске не удаляются. Этот флаг также позволяет проверить правильность всех параметров команды и её готовность к запуску.--statusПозволяет удалять все резервные копии с определённым состоянием.
За подробностями обратитесь к подразделу Удаление резервных копий.
file-map #
pg_probackup3 file-map -Bкаталог_копий--instance=имя_экземпляра-iид_резервной_копии
Включает создание файлов сопоставления для существующей цепочки резервных копий.
Существующие файлы сопоставления для указанных резервных копий будут заменены новыми версиями.
fuse #
pg_probackup3 fuse -Bкаталог_копий--mnt-path=путь_монтирования--instance=имя_экземпляра-iид_резервной_копии[--cache-swap-size=порог_сброса_кеша] [--cache-dir=каталог_кеша] [--detach] [--unmount] [--help] [параметры_ssh] [параметры_журнала] [параметры_s3] [параметры_буферизации]
Монтирует каталог резервных копий в виде виртуальной файловой системы и позволяет Postgres Pro работать на ней. Более детальное описание процесса представлено в Раздел 3.7.
--cache-swap-sizeЗадаёт объём данных (в МБ), хранящихся в оперативной памяти. Значение по умолчанию — 128 МБ. При превышении этого размера изменения сбрасываются на ближайший диск. Это позволяет работать со снимком состояния базы данных, не изменяя исходную резервную копию. Кеш очищается после остановки сервера Postgres Pro.
--cache-dir=каталог_кешаУказывает путь к каталогу кеша FUSE. Если этот параметр опущен, используется системный временный каталог.
--detachЗапускает файловую систему FUSE в фоновом режиме (по умолчанию работает не в фоновом режиме). Это полезно для автоматизации.
--unmountДемонтирует файловую систему FUSE, которая была ранее смонтирована с помощью команды
fuse. Для этого параметра требуется указать только путь монтирования (параметр--mnt-path), который должен совпадать с путём, использовавшимся при монтировании.
help #
pg_probackup3 help [command]Выдаёт справку по командам pg_probackup3. Если в параметрах задаётся одна из команд pg_probackup3, выводит подробную информацию по параметрам, которые принимает эта команда.
init #
pg_probackup3 init -Bкаталог_копий[--skip-if-exists] [параметры_s3] [--help] [параметры_ssh][параметры_журнала] [параметры_буферизации]
Инициализирует каталог_копий, в котором будут храниться резервные копии, архив WAL и метаинформация о скопированных кластерах баз данных. Если заданный каталог_копий уже существует, он должен быть пустым. В противном случае pg_probackup3 выдаст соответствующее сообщение об ошибке. Можно отключить вывод этого сообщения, указав --skip-if-exists. Хотя каталог не будет инициализирован, приложение вернёт 0.
За подробностями обратитесь к подразделу Инициализация каталога резервных копий. Более подробно о параметрах команды рассказывается в подразделе Общие параметры.
merge #
pg_probackup3 merge -Bкаталог_копий--instance=имя_экземпляра-iид_резервной_копии--merge-from-id=объединить_от--merge-interval=интервал_объединения[-t | --target-backup-id=ид_резервной_копии] [-jчисло_потоков] [--progress] [--no-validate] [--no-sync] [--keep-backups] [--dry-run] [--help][параметры_журнала] [параметры_ssh] [параметры_s3] [параметры_буферизации]
Объединяет копии, относящиеся к одной цепочке инкрементальных копий. Если выбрана полная копия, она будет объединена с первой инкрементальной копией после неё. Если выбрана инкрементальная копия, она будет объединена с родительской полной копией, включая все инкрементальные копии между ними. После выполнения команды полная копия содержит все объединённые данные, а инкрементальные копии удаляются как ненужные. Вы также можете объединять цепочки инкрементальных копий, указав первую и последнюю резервные копии или интервал (в часах) от момента создания первой резервной копии.
--no-validateПропускает автоматическую проверку до и после объединения.
--no-syncНе сбрасывать объединяемые файлы на диск. Этот флаг позволяет несколько ускорить процесс объединения. Использование этого флага может привести к повреждению данных в случае аварии операционной системы или аппаратного сбоя.
-t--target-backup-idЗадаёт идентификатор объединённой резервной копии.
--keep-backupsСохраняет исходные резервные копии после объединения.
--merge-from-idУказывает идентификатор первой резервной копии в цепочке копий для объединения.
--merge-intervalЗадаёт время (в часах) перед объединением цепочки инкрементальных резервных копий.
--with-file-mapВключает создание файлов сопоставления. Необходим для команды fuse.
За подробностями обратитесь к подразделам Общие параметры и Объединение резервных копий.
restore #
pg_probackup3 restore -Bкаталог_копий--instance=имя_экземпляра[--help] [-Dкаталог_данных] [-iид_резервной_копии] [--wal-archive-dir=путь_каталога] [--progress] [-TСТАРЫЙ_КАТАЛОГ=НОВЫЙ_КАТАЛОГ] [--external-mapping=СТАРЫЙ_КАТАЛОГ=НОВЫЙ_КАТАЛОГ] [--skip-external-dirs] [-jчисло_потоков] [--num-validate-threadsчисло_потоков] [-R | --restore-as-replica] [--no-validate] [--skip-block-validation] [--no-sync] [--restore-command=команда] [--primary-conninfo=строка_подключения] [ --primary-slot-name=имя_слота] [параметры_точки_восстановления] [параметры_журнала] [параметры_ssh] [параметры_s3] [параметры_буферизации]
Восстанавливает экземпляр Postgres Pro из резервной копии, расположенной в каталоге каталог_копий.
Примечание
В то время как файлы резервных копий могут передаваться из разных источников (файловая система, S3 или SSH SFTP), восстановление каталога данных PGDATA сервера Postgres Pro производится в локальную файловую систему.
Примечание
Команда restore пока не поддерживает параметр --threads. Число потоков равняется числу сегментов резервной копии.
-R--restore-as-replicaСоздаёт минимальный файл конфигурации восстановления для облегчения настройки ведомого сервера. Если для соединения репликации требуется пароль, его нужно дополнительно задать вручную в параметре primary_conninfo. pg_probackup3 сохраняет эти параметры в файле
probackup_recovery.confи при запуске кластера включает их вpostgresql.auto.conf.--primary-conninfo=строка_подключенияУстанавливает заданное значение для параметра primary_conninfo. Это значение учитывается только при использовании флага
-R.Пример:
--primary-conninfo="host=192.168.1.50 port=5432 user=foo password=foopass"--primary-slot-name=имя_слотаУстанавливает заданное значение для параметра primary_slot_name. Это значение учитывается только при использовании флага
-R.-TСТАРЫЙ_КАТАЛОГ=НОВЫЙ_КАТАЛОГ--tablespace-mapping=СТАРЫЙ_КАТАЛОГ=НОВЫЙ_КАТАЛОГПеремещает табличное пространство из каталога
СТАРЫЙ_КАТАЛОГвНОВЫЙ_КАТАЛОГво время восстановления. ИСТАРЫЙ_КАТАЛОГ, иНОВЫЙ_КАТАЛОГдолжны задаваться абсолютными путями. Если путь содержит знак равно (=), экранируйте этот знак обратной косой чертой. Данный параметр может указываться неоднократно для перемещения нескольких табличных пространств.--external-mapping=СТАРЫЙ_КАТАЛОГ=НОВЫЙ_КАТАЛОГПеремещает внешний каталог, включённый в резервную копию, из каталога
СТАРЫЙ_КАТАЛОГвНОВЫЙ_КАТАЛОГво время восстановления. ИСТАРЫЙ_КАТАЛОГ, иНОВЫЙ_КАТАЛОГдолжны задаваться абсолютными путями. Если путь содержит знак равно (=), экранируйте этот знак обратной косой чертой. Данный параметр может указываться неоднократно для нескольких каталогов.--skip-external-dirsПропускать внешние каталоги, включённые в резервную копию указанием
--external-dirs. Содержимое этих каталогов не будет восстановлено.--skip-block-validationОтключает проверку контрольных сумм на уровне блоков для ускорения проверки целостности. При автоматической проверке перед восстановлением будут проверяться только контрольные суммы на уровне файлов.
--no-validateПропускает проверку резервного копирования. Этот ключ может быть полезен, если вы регулярно проверяете копии и хотите сократить время восстановления данных.
--restore-command=командаЗадаёт значение для параметра restore_command. Например:
--restore-command='cp /mnt/server/archivedir/%f "%p"'--wal-archive-dir=путь_каталогаЗадаёт каталог для архива WAL.
По умолчанию архив WAL хранится в каталоге
. Чтобы указать пользовательский каталог, используйте параметркаталог_копий/wal/имя_экземпляра--wal-archive-dir. Тип хранилища (локальная файловая система, SFTP или S3) должен соответствовать конфигурации экземпляра. Указывать необходимо уже существующий каталог.--no-syncНе сбрасывать восстанавливаемые файлы на диск. Этот флаг позволяет несколько ускорить процесс восстановления. Использование этого флага может привести к повреждению данных в случае аварии операционной системы или аппаратного сбоя. Если такое событие произойдёт, вам потребуется запустить команду restore ещё раз.
За подробной информацией о параметрах команды обратитесь к подразделам Общие параметры, Параметры точки восстановления, Параметры SSH, Параметры удалённого архива WAL, Параметры ведения журнала.
За подробностями обратитесь к подразделу Восстановление кластера.
retention #
pg_probackup3 retention -Bкаталог_копий--instance=имя_экземпляра[--retention-redundancy] [--retention-window] [--dry-run] [--merge-expired] [--wal-archive-dir=путь_каталога] [--delete-expired] [--delete-wal] [параметры_закрепления] [параметры_ssh] [параметры_s3] [параметры_буферизации]
Устанавливает политику хранения резервных копий в экземпляре или каталоге и запускает процесс удаления или объединения резервных копий согласно указанным параметрам.
По умолчанию архив WAL хранится в каталоге . Чтобы указать пользовательский каталог, используйте параметр каталог_копий/wal/имя_экземпляра--wal-archive-dir. Тип хранилища (локальная файловая система, SFTP или S3) должен соответствовать конфигурации экземпляра. Указывать необходимо уже существующий каталог.
За подробностями о параметрах команды обратитесь к подразделу Параметры сохранения.
send-backup #
pg_probackup3 send-backup -Bкаталог_копий--instance=имя_экземпляра-iид_резервной_копии-pпорт-hсервер[--no-merge]
Передаёт данные резервных копий в удалённую систему через указанный порт с использованием многопоточности.
Выполняется на локальной машине, содержащей каталог резервных копий.
Перед передачей данных цепочка резервных копий объединяется во временный файл, который удаляется после завершения передачи. Объединение можно отключить с помощью флага --no-merge — в этом случае данные будут передаваться в исходном виде.
За подробностями обратитесь к разделу Удалённое восстановление.
server-info #
pg_probackup3 server-info [--format=plain|json] [параметры_подключения]Отображает доступность параметров резервного копирования для текущего экземпляра Postgres Pro. Включает основную информацию об экземпляре и версию pg_probackup3. Пример вывода:
CAN_USE_API = true CAN_USE_CLI = true CAN_USE_S3 = true CAN_USE_CFS = true CAN_USE_FUSE = true CAN_USE_DIRECT = true CAN_USE_BASE = true CAN_USE_PRO = true CAN_USE_MULTITHREAD = true IS_PRO_MODE_CONFIGURED = true IS_DELTA_AVAILABLE = true IS_PTRACK_CONFIGURED = true IS_PAGE_AVAILABLE = false IS_WALSUM_AVAILABLE = false IS_PGDATA_ACCESS = true SERVER_CHECKSUM_ENABLED = true PG_VERSION = 170006 PG_VERSION_STRING = "Postgres Pro (enterprise) 17.6.1 on aarch64-apple23.6.0, compiled by Homebrew clang version 21.1.2, 64-bit" PG_EDITION_STRING = "enterprise" PGDATA = "/Users/username/projects/postgrespro/tmp_install/data" TIMELINE = 1 SYSTEM_ID = 75800766633445207 PG_MAX_WAL_SENDERS = 20 PG_BLOCK_SIZE = 8192 PG_BLOCKS_IN_SEGMENT = 131072 PG_WAL_BLOCK_SIZE = 8192 PG_WAL_SEGMENT_SIZE = 16777216 PG_TABLESPACE_MAP = "[]" APP_VERSION = 3.2.0
По умолчанию вывод отображается в виде простого текста. Укажите параметр --format=json, чтобы получить результат в формате JSON.
Параметры типа CAN_USE_* отражают лицензионные ограничения и показывают, какие функции доступны в текущей версии Postgres Pro.
set-backup #
pg_probackup3 set-backup -Bкаталог_копий--instance=имя_экземпляра-iид_резервной_копии{--ttl=время_жизни| --expire-time=время} [--note=заметка_к_копии] [параметры_ssh] [параметры_s3] [--help] [параметры_журнала] [параметры_буферизации]
Устанавливает заданные для конкретной резервной копии параметры в конфигурационном файле backup.control или изменяет ранее определённые значения.
--note=заметка_к_копииЗадаёт текстовую заметку для резервной копии. Если
заметка_к_копиисодержит символы перевода строки, сохранена будет только подстрока до первого перевода строки. Максимальный размер заметки равен 1 КБ. Значение'none'удаляет текущую заметку.
За подробностями о параметрах команды обратитесь к подразделам Общие параметры и Параметры закрепления.
set-config #
pg_probackup3 set-config -Bкаталог_копий--instance=имя_экземпляра[--help] [--pgdata=путь_к_pgdata] [--wal-archive-dir=путь_каталога] [--retention-redundancy=избыточность][--retention-window=окно] [параметры_сжатия] [параметры_подключения] [--archive-timeout=время_ожидания] [--external-dirs=путь_внешнего_каталога] [параметры_журнала] [параметры_ssh] [параметры_буферизации]
Добавляет заданные параметры соединения, сжатия, хранения, ведения журнала и указания внешних каталогов в конфигурационный файл pg_probackup3.conf либо изменяет ранее заданные значения.
По умолчанию архив WAL хранится в каталоге . Чтобы указать пользовательский каталог, используйте параметр каталог_копий/wal/имя_экземпляра--wal-archive-dir. Тип хранилища (локальная файловая система, SFTP или S3) должен соответствовать конфигурации экземпляра. Указывать необходимо уже существующий каталог.
Все поддерживаемые параметры описываются в подразделе Параметры.
Редактировать pg_probackup3.conf вручную не рекомендуется.
show #
pg_probackup3 show3 -Bкаталог_копий[--help] [--instance=имя_экземпляра[-iид_резервной_копии| --archive [--wal-archive-dir=путь_каталога]]] [--show-log] [--format=plain|json] [--no-color] [--format=plain|json|tree] [параметры_s3] [параметры_ssh] [параметры_журнала] [параметры_буферизации]
Показывает содержимое каталога резервных копий. Если заданы имя_экземпляра и ид_резервной_копии, выводится подробная информация об этой копии. С указанием флага --archive эта команда отображает содержимое архива WAL, который по умолчанию находится в . Для указания пользовательского каталога используйте параметр каталог_копий/wal/имя_экземпляра--wal-archive-dir.
По умолчанию содержимое каталога представляется в виде обычного текста. Вы можете передать параметр --format=json, чтобы получить результат в формате JSON. С параметром --no-color выводимые сообщения не выделяются цветом. Можно также использовать параметр --format=tree, чтобы посмотреть список резервных копий в виде дерева.
Более подробно использование этой команды описывается в подразделах Управление каталогом резервных копий и Просмотр оглавления архива WAL.
show-config #
pg_probackup3 show-config -Bкаталог_копий--instanceимя_экземпляра[--format=plain|json] [параметры_s3] [параметры_ssh] [параметры_журнала] [параметры_буферизации]
Выводит все текущие параметры конфигурации pg_probackup3, в том числе те, что содержатся в файле pg_probackup3.conf, размещённом в каталоге , и те, что были заданы в командной строке. По умолчанию параметры конфигурации выводятся обычным текстом.каталог_копий/backups/имя_экземпляра
Чтобы изменить содержимое pg_probackup3.conf, используйте команду set-config.
validate #
pg_probackup3 validate -Bкаталог_копий[--help] [--instance=имя_экземпляра] [-iид_резервной_копии] [-jчисло_потоков] [--progress] [--skip-block-validation] [параметры_буферизации] [параметры_журнала] [параметры_ssh][параметры_s3]
Проверяет наличие и целостность всех файлов, необходимых для восстановления кластера. Если имя_экземпляра не задаётся, pg_probackup3 проверяет все резервные копии, имеющиеся в каталоге копий.
Если указать параметр --progress, в процессе проверки будет выводиться список файлов и каталогов резервной копии.
version #
pg_probackup3 version
Выводит версию pg_probackup3.
При указании --format= вывод будет получен в формате JSON. Это может потребоваться для внутренней интеграции с приложениями на основе JSON, например PPEM. Пример вывода JSON: json
pg_probackup3 version --format=json
{
"pg_probackup3":
{
"version": "3.0.0",
},
"compressions": [zlib, lz4, zstd]
}
Параметры #
В этом подразделе описываются параметры командной строки для команд pg_probackup3. Если какое-либо значение параметра может быть получено из переменной окружения, имя этой переменной указывается в верхнем регистре ниже параметра командной строки. Некоторые значения могут быть получены из файла конфигурации pg_probackup3.conf, находящегося в каталоге копий.
За подробностями обратитесь к Разделу 2.4.
Если некоторый параметр задаётся несколькими способами, значение в командной строке имеет наивысший приоритет, а значение в pg_probackup3.conf — наименьший.
Общие параметры #
Ниже приведён список параметров общего характера.
--dry-runВыполняет пробный запуск нужной команды, который не вносит никаких реальных изменений: не создаются, не удаляются и не перемещаются файлы на диске. Этот флаг также позволяет проверить правильность всех параметров команды и её готовность к запуску. С
--dry-runпропускается потоковая трансляция WAL.-Bкаталог--backup-path=каталогBACKUP_PATHЗадаёт абсолютный путь к каталогу копий. Каталог копий — это каталог, в котором хранятся все файлы резервных копий и метаинформация. Поскольку это расположение необходимо задавать почти для всех команд pg_probackup3, имеет смысл указать его один раз в переменной окружения
BACKUP_PATH. В этом случае каждый раз указывать этот путь в командной строке не нужно.-Dкаталог--pgdata=каталогPGDATAЗадаёт абсолютный путь к каталогу данных кластера. Этот параметр является обязательным только для команды add-instance. Другие команды могут получать этот путь из переменной окружения
PGDATAили из файла конфигурацииpg_probackup3.conf.-iид_резервной_копии--backup-id=ид_резервной_копииЗадаёт уникальный идентификатор резервной копии.
--parent-backup-id=ид_родительской_копииУказывает уникальный идентификатор родительской копии (используется при инкрементальном копировании).
--from-fullСоздаёт инкрементальную резервную копию от последней родительской полной копии.
-jчисло_потоков--threads=число_потоковЗадаёт число параллельных потоков, запускаемых командами
backup,restore,merge,validateиarchive-push. По умолчанию равно числу ядер процессора.--num-validate-threadsчисло_потоковЗадаёт число параллельных потоков, запускаемых во время проверки резервных копий, например, при выполнении команд
backupилиrestore.Ключ
--no-validateотключает действие параметра--num-validate-threads.--progressВключает вывод прогресса выполнения операций.
--helpВыводит подробную информацию по параметрам, которые принимает эта команда.
-vверсия--version=версияПоказывает версию pg_probackup3.
--config-file=имя_файлаЗадаёт файл конфигурации S3 или SSH. Параметры, заданные в этом файле, переопределяют переменные окружения.
Чтобы создать файл конфигурации, выполните команду set-config с параметром
--config-file.В созданном файле будут указаны все явно заданные параметры S3 или SSH, при этом пароли исключаются и отображаются в виде звёздочек.
Пример файла конфигурации S3:
access-key=admin s3=on s3-bucket=test s3-host=127.0.0.1 s3-port=9000 s3-region=us-west-2 secret-key=***
Если файл конфигурации содержит параметры и S3, и SSH, будут использоваться параметры S3.
Если параметр
--config-fileопускается, pg_probackup3 ищет файлы конфигурации S3 и SSH сначала в/etc/pg_probackup/s3.configили/etc/pg_probackup/ssh.config, а затем в~postgres/.pg_probackup/s3.configили~postgres/.pg_probackup/ssh.configсоответственно.
Параметры точки восстановления #
Если настроено непрерывное архивирование WAL, вы можете передать один из этих параметров с командой restore, чтобы указать момент, до которого должен быть проверен кластер баз данных.
--recovery-target-stop=immediate|latestОпределяет, когда остановить восстановление:
Со значением
immediateвосстановление завершается сразу после достижения согласованного состояния выбранной копиин. Такое поведение по умолчанию применяется для копий типа STREAM.Со значением
latestвосстановление продолжается до тех пор, пока не будут применены все имеющиеся в архиве сегменты WAL. При указании этого значения для параметра--recovery-targetтакое же значение задаётся для параметра--recovery-target-timeline.
--recovery-target-timeline=линия_времениВыбирает линию времени для восстановления:
current— линия времени указанной резервной копии. Это значение по умолчанию.
latest— линия времени последней доступной резервной копии.Числовое значение.
--recovery-target-lsn=lsnУказывает последовательный номер в журнале предзаписи, до которого будет производиться восстановление.
--recovery-target-name=имя_цели_восстановленияУказывает именованную точку сохранения, вплоть до которой будет восстановлен кластер.
--recovery-target-time=время|current|latestУказывает точку времени, вплоть до которой будет производиться восстановление. Если часовой пояс не указывается, подразумевается местное время.
Например:
--recovery-target-time="2027-04-09 18:21:32+00"--recovery-target-xid=ид_транзакцииУказывает идентификатор транзакции, вплоть до которой будет производиться восстановление.
--recovery-target-inclusive=booleanУказывает на необходимость остановки сразу после (
true) либо до (false) достижения целевой точки. Этот параметр можно использовать только вместе с параметром--recovery-target-time,--recovery-target-lsnили--recovery-target-xid. Значение по умолчанию определяется параметром recovery_target_inclusive.--recovery-target-action=pause|promote|shutdownЗадаёт действие (recovery_target_action), которое должен выполнить сервер по достижении цели восстановления.
По умолчанию:
pause
Параметры сохранения #
Эти параметры используются с командой retention.
Подробнее о политике хранения рассказывается в подразделе Настройка политики хранения.
--retention-redundancy=избыточностьУказывает, сколько полных резервных копий должно сохраняться в каталоге данных. Должно быть неотрицательным целым числом. Ноль отключает сохранение.
По умолчанию:
0--retention-window=окноУказывает количество дней, в течение которого возможно восстановление. Должно быть неотрицательным целым числом. При нулевом значении окно восстановления отсутствует.
По умолчанию:
0--delete-walУдаляет файлы WAL, которые не являются необходимыми для восстановления кластера из имеющихся резервных копий.
--delete-expiredУдаляет резервные копии, не удовлетворяющие политике сохранения, определённой в файле конфигурации
pg_probackup3.conf.--merge-expiredОбъединяет самую старую инкрементальную копию, удовлетворяющую требованиям политики хранения, с её родительскими копиями, срок хранения которых истёк.
Параметры закрепления #
Эти параметры могут использоваться с командами backup, set-backup и retention.
За подробностями обратитесь к подразделу Закрепление резервных копий.
--ttl=время_жизниЗадаёт время, на которое закрепляется резервная копия. Значение должно быть неотрицательным целым. Нулевое значение отменяет установленное ранее закрепление резервной копии. Поддерживаются следующие единицы измерения: ms (миллисекунды), s (секунды), min (минуты), h (часы), d (дни). По умолчанию подразумеваются секунды.
Например:
--ttl=30d--expire-time=времяОпределяет момент времени, до которого будет храниться резервная копия. Время должно задаваться в формате ISO-8601. Если часовой пояс не указывается, подразумевается местное время.
Например:
--expire-time="2027-04-09 18:21:32+00"
Параметры ведения журнала #
Эти параметры могут использоваться с любой командой.
--no-colorОтключает цветовое выделение сообщений уровней
warningиerrorв консоли.--log-level-console=уровень_протоколированияУправляет уровнем сообщений, которые будут выводиться в журнал консоли. Допустимые уровни:
trace,debug,info,warning,errorиoff. Каждый уровень включает все последующие, и с каждым последующим уровнем объём сообщений уменьшается. Вариантoffотключает вывод в журнал консоли.По умолчанию:
infoПримечание
Все выводимые в консоль сообщения журнала передаются через stderr, чтобы их можно было отделить от вывода команд show и show-config.
--log-level-file=уровень_протоколированияУправляет уровнем сообщений, которые будут выводиться в файл журнала. Допустимые уровни:
trace,debug,info,warning,errorиoff. Каждый уровень включает все последующие, и с каждым последующим уровнем объём сообщений уменьшается. Вариантoffотключает вывод в файл журнала.По умолчанию:
off--log-backup=уровень_протоколированияУправляет уровнем сообщений, которые будут выводиться в файл журнала резервного копирования (создаваемый в каталоге резервных копий) во время выполнения команды
backup. Допустимые уровни:trace,debug,info,warning,errorиoff. Каждый уровень включает все последующие, и с каждым последующим уровнем объём сообщений уменьшается. Вариантoffотключает вывод в файл журнала.По умолчанию:
info--log-filename=файл_журналаОпределяет имена для создаваемых файлов журналов. Имена файлов обрабатываются по шаблону
strftime, так что вы можете использовать спецкоды с % для выбора имён файлов, зависящих от времени.Примечание
Начиная с PostgreSQL 17, в shell-командах, таких как
archive_command, применяется более строгая проверка местозаполнителей со знаком процента. В этом контексте вместо одинарного%следует использовать%%. Для получения дополнительной информации обратитесь к соответствующему коммиту PostgreSQL.По умолчанию:
pg_probackup.logНапример, если задать шаблон
pg_probackup-%%u.log, pg_probackup3 будет записывать журнал в отдельные файлы по дням недели, и символы%%uв имени будут заменяться соответствующим десятичным номером:pg_probackup-1.logв понедельник,pg_probackup-2.logво вторник и т. д.Также можно использовать счётчик файлов (
%%N) и форматstrftime(pg_probackup-%%Y-%%m-%%d_%%H%%M%%S.log). Примеры показаны в таблице ниже.Таблица 4.1. Примеры шаблонов имён файлов
Шаблон Развёрнутая версия file_%%N.log file_1.log, file_2.log... file_%%3N.log file_001.log, file_002.log... file_%%Y%%m%%d.log file_20080705.log, file_20080706.log... file_%%Y-%%m-%%d_%%H-%%M-%%S.%%N.log file_2008-07-05_13-44-23.1.log, file_2008-07-06_16-00-10.2.log... Этот параметр действует, если включена запись в журнал (параметром
--log-level-file).--error-log-filename=файл_журнала_событийОпределяет имена только для файлов журналов ошибок. Имена файлов обрабатываются по шаблону
strftime, так что вы можете использовать спецкоды с % для выбора имён файлов, зависящих от времени.Примечание
Начиная с PostgreSQL 17, в shell-командах, таких как
archive_command, применяется более строгая проверка местозаполнителей со знаком процента. В этом контексте вместо одинарного%следует использовать%%. Для получения дополнительной информации обратитесь к соответствующему коммиту PostgreSQL.По умолчанию: none
Например, если задать шаблон
error-pg_probackup-%%u.log, pg_probackup3 будет записывать журнал в отдельные файлы по дням недели, и символы%%uв имени будут заменяться соответствующим десятичным номером:error-pg_probackup-1.logв понедельник,error-pg_probackup-2.logво вторник и т. д.Этот параметр полезен для диагностики и решения возникающих проблем.
--log-directory=каталог_журналаОпределяет каталог, в котором будут создаваться файлы журналов. Вы должны задать в этом параметре абсолютный путь. Этот каталог создаётся только при необходимости, когда в журнал выводится первое сообщение.
Обратите внимание, что каталог для файлов журнала всегда создаётся локально, даже если резервные копии создаются в хранилище S3. Поэтому при необходимости обязательно указывайте локальный путь в
каталоге_журнала.По умолчанию:
$BACKUP_PATH/log/--log-format-console=формат_журналаОпределяет формат журнала консоли. Устанавливается только из командной строки. Обратите внимание, что этот параметр нельзя указать в файле конфигурации
pg_probackup3.confпосредством команды set-config и что команда backup также воспринимает указание этого параметра в конфигурационном файле как ошибку. Этот параметр может иметь следующие значения:Если
plain, то журнал выводится на консоль в формате обычного текста.Если
json, то журнал выводится на консоль в формате JSON.
По умолчанию:
plain--log-format-file=формат_журналаОпределяет используемый формат файлов журнала. Этот параметр может иметь следующие значения:
Если
plain, то файлы журнала записываются в формате обычного текста.Если
json, то файлы журнала записываются в формате JSON.
По умолчанию:
plain--log-rotation-size=размер_журнала_для_ротацииОпределяет максимальный размер отдельного файла журнала. Если это значение достигается, файл журнала прокручивается при выполнении какой-либо команды pg_probackup3, за исключением
helpиversion. Нулевое значение отключает прокрутку в зависимости от размера. Допустимые единицы измерения: B, kB (по умолчанию), MB, GB, TB. Используйте счётчик файлов (%N) в шаблоне имени журнала.По умолчанию:
0
Параметры подключения #
Эти параметры могут использоваться с командой backup.
pg_probackup3 поддерживает все переменные окружения libpq.
-dимя_бд--pgdatabase=имя_бдPGDATABASEЗадаёт имя базы данных для подключения. Это подключение используется только для управления процессом резервного копирования, так что вы можете подключиться к любой существующей базе. Если этот параметр не задаётся в командной строке, переменной окружения
PGDATABASEили в конфигурационном файлеpg_probackup3.conf, pg_probackup3 принимает в качестве имени базы значение переменной окруженияPGUSERили имя текущего пользователя, если переменнаяPGUSERне задана.-hсервер--pghost=серверPGHOSTУказывает имя системы, в которой работает сервер. Если значение начинается с косой черты, оно определяет каталог Unix-сокета.
По умолчанию:
localhost-pпорт--pgport=портPGPORTУказывает TCP-порт или расширение файла локального Unix-сокета, через который сервер принимает подключения.
По умолчанию:
5432-Uимя_пользователя--pguser=имя_пользователяPGUSERИмя пользователя для подключения.
-w--no-passwordНе выдавать запрос на ввод пароля. Если сервер требует аутентификацию по паролю и пароль не доступен с помощью других средств, таких как файл .pgpass или переменная окружения
PGPASSWORD, попытка соединения не удастся. Этот параметр может быть полезен в пакетных заданиях и скриптах, где нет пользователя, который вводит пароль.-W--passwordЗапрашивать пароль. (Устаревший параметр.)
Параметры сжатия #
Эти параметры могут использоваться с командами backup и archive-push.
--compress-algorithm=алгоритм_сжатияОпределяет алгоритм, который будет использоваться для сжатия файлов данных. Возможные значения:
zlib,lz4,zstdиnone. Любое значение, отличное отnone, включает сжатие. При этом сжимаются и файлы данных, и файлы WAL. По умолчанию сжатие отключено.По умолчанию:
noneПредупреждение
Значение
lz4для параметра--compress-algorithmв настоящее время не поддерживается в командахarchive-pushиarchive-get.--compress-level=уровень_сжатияОпределяет уровень сжатия.
Примечание
Этот параметр необходимо использовать вместе с параметром
--compress-algorithm.Возможные значения зависят от указанного алгоритма сжатия:
0 — 9 для
zlib0 — 12 для
lz40 — 22 для
zstd
При значении 0 устанавливается уровень сжатия по умолчанию для указанного алгоритма:
6 для
zlib9 для
lz43 для
zstd
Примечание
Обычный алгоритм lz4 имеет только один уровень сжатия — 1. Так что, если указан алгоритм сжатия
lz4и значение--compress-levelбольше 1, фактически используется алгоритм lz4hc, который работает намного медленнее, но обеспечивает лучшее сжатие.По умолчанию:
1
Параметры архивации #
Эти параметры могут использоваться с командой archive-push в значении параметра archive_command и с командой archive-get в значении restore_command.
Дополнительно можно задать параметры SSH и параметры журнала.
--wal-file-path=путь_файлов_walЗадаёт путь файла WAL в
archive_commandиrestore_command. В качестве значения для данного параметра укажите%pили явно задайте путь к файлу вне каталога данных. Если этот параметр не задан, используется путь, заданный в файлеpg_probackup3.conf.--wal-file-name=имя_файла_walЗадаёт имя файла WAL в
archive_commandиrestore_command. В качестве значения для данного параметра укажите%fдля правильной его обработки. Если значением параметра--wal-file-pathявляется путь вне каталога данных, следует явно указывать имя файла.--overwriteРазрешает перезапись файлов WAL в архиве. Этот ключ действует при выполнении команды archive-push, когда указанный подкаталог каталога резервных копий уже содержит данный файл WAL, и его нужно заменить новой копией. Без этого ключа
archive-pushсообщит, что сегмент WAL уже существует, и прервёт операцию. Если заменяемый файл не изменился,archive-pushпропускает его, независимо от указания--overwrite.--batch-size=размер_порцииИспользуется для ускорения процесса архивирования при выполнении
archive-pushили процесса восстановления при выполненииarchive-get. Задаёт максимальное количество файлов WAL, которое может быть скопировано в архив одним процессомarchive-pushили из архива одним процессомarchive-get.--archive-timeout=время_ожиданияЗадаёт интервал, по истечении которого существующие файлы
.partбудут считаться потерянными. По умолчанию pg_probackup3 ждёт исчезновения этих файлов 300 секунд. Этот параметр можно использовать только с командой archive-push.--no-syncНе сбрасывать копируемые файлы WAL на диск. Этот флаг позволяет несколько ускорить процесс архивации. Использование этого флага может привести к повреждению архива WAL в случае аварии операционной системы или аппаратного сбоя. Данный параметр можно указать только с командой archive-push.
--prefetch-dir=путьКаталог, в котором будут храниться предзагружаемые сегменты WAL при использовании параметра
--batch-size. Этот каталог должен находиться в той же файловой системе и ниже той же точки монтирования, что иPGDATA/pg_wal. По умолчанию эти сегменты размещаются в каталогеPGDATA/pg_wal/pbk_prefetch. Данный параметр может применяться только с командой archive-get.
Параметры буферизации #
Эти параметры могут использоваться со всеми командами.
--buffer-size=размерЗадаёт размер буфера для операций чтения и записи. Должно быть неотрицательным целым числом. При нулевом значении этот параметр отключается. Значение по умолчанию — 0.
--buffer-read-size=размерЗадаёт размер отдельного буфера для операций чтения. Должно быть неотрицательным целым числом. При нулевом значении этот параметр отключается. Значение по умолчанию — 0.
--buffer-write-size=размерЗадаёт размер расширенного буфера для операций записи. Должно быть неотрицательным целым числом. При нулевом значении этот параметр отключается. Значение по умолчанию — 0.
Вы можете явно указать единицы измерения для любого из параметров буфера. Допустимые значения: B, kB, MB, GB, TB. Если единица измерения не указана, по умолчанию используются байты.
Параметры S3 #
В этом разделе описываются параметры, которые необходимо задать для размещения копий в частном облачном хранилище. Эти параметры могут задаваться с любыми командами, которые pg_probackup3 выполняет через интерфейс S3.
За подробностями обратитесь к подразделу Настройка подключения к хранилищу S3.
--s3=провайдер_интерфейса_s3Задаёт провайдера, поддерживающего интерфейс S3. Возможные значения:
minio— объектное хранилище MinIO, совместимое с облачным хранилищем S3. С этим провайдером могут указываться пользовательские параметры сервера S3. По умолчанию используется протокол HTTP, порт 9000 и регионus-east-1.off— полностью отключает функциональность S3. Это значение по умолчанию для параметра--s3.
При указании
--s3=pg_probackup3 будет работать с хранилищем VK Cloud, если правильно заданы адрес узла S3, порт и протокол (адрес узла —miniohb.vkcs.cloudили указанный в соответствующем разделе профиля VK Cloud, порт 443 и протокол HTTPS). Не указывайте--s3=при использовании хранилища Amazon S3.minio--s3-host=имя_сервераЗадаёт адрес сервера S3. Можно также указать номер порта через двоеточие. Если номер порта не указан в строке адреса, используется значение
--s3-port. Добавляйте двоеточие только при указании номера порта.--s3-port=номер_портаЗадаёт порт сервера S3.
--s3-region=регионЗадаёт регион сервера S3. Значение по умолчанию —
us-east-1.--s3-bucket=бакетЗадаёт имя бакета на сервере S3.
--access-key=ключ_доступаЗадаёт ключ доступа для хранилища S3.
--secret-key=парольЗадаёт секретный ключ доступа для хранилища S3.
--s3-secure=протоколУказывает используемый протокол. Допустимые значения:
ONилиHTTPS— используется HTTPS.HTTP— используется HTTP. Это режим по умолчанию.
--s3-retries=число_повторных_попытокЗадаёт максимальное количество попыток выполнения запроса к S3 при возникновении сбоев. Значение по умолчанию —
3.--s3-timeout=время_ожиданияЗадаёт максимальное время выполнения HTTP-запроса к серверу S3 в секундах. Значение по умолчанию —
300.--s3-ignore-cert-ver=ON|OFFПозволяет не проверять сертификат узла и узла-партнёра. По умолчанию —
OFF.--s3-ca-certificate=сертификат_цаУказывает путь к каталогу файла с сертификатом от доверенного центра сертификации (ЦА).
--s3-ca-path=каталог_цаУказывает каталог, в котором должны храниться сертификаты доверенного ЦС.
--s3-client-cert=клиентский_сертификатУстанавливает клиентский сертификат SSL.
--s3-client-key=клиентский_ключЗадаёт файл закрытого ключа для клиентских сертификатов TLS и SSL.
--s3-versioning=enabled|suspended|offВключает управление версиями объектов в бакете S3. По умолчанию —
off.--s3-http-compression=true|falseУстанавливает HTTP-заголовок «Accept-Encoding» и выполняет распаковку полученного содержимого. По умолчанию —
false(отключено).
Ниже описываются параметры производительности S3.
--s3-buffer-size=размер[единица_измерения]Задаёт размер буфера чтения/записи для взаимодействия с S3. Вы можете явно указать единицы измерения. Допустимые значения: B, kB, MB, GB, TB. Если единица не указана, по умолчанию используется размер в байтах.
Примечание
Значение параметра
--s3-buffer-sizeне должно быть меньше 5 МБ. При указании меньших значений будет выдано предупреждение, а значение автоматически изменится на5MB.
Параметры SSH #
В этом подразделе описываются параметры, связанные с работой pg_probackup3 в удалённом режиме через SSH. Эти параметры могут использоваться со всеми командами.
Подробнее о настройке и использовании удалённого режима через SSH рассказывается в Разделе 2.11 и Разделе 3.4.
--remote-host=целевой_адресЗадаёт имя или IP-адрес целевого удалённого сервера.
--remote-port=портЗадаёт целевой порт на удалённом сервере.
По умолчанию:
22--remote-user=имя_пользователяЗадаёт имя пользователя на удалённом сервере для SSH-соединения. В отсутствие этого параметра используется имя текущего пользователя, устанавливающего SSH-соединения.
--remote-path=путьЗадаёт каталог, в котором pg_probackup3 установлен на удалённой системе.
--ssh-options=параметры_sshЗадаёт строку параметров командной строки для SSH. Например, следующим образом можно установить свойства
keep-aliveдля SSH-подключений, которые будет открывать pg_probackup3:--ssh-options="-o ServerAliveCountMax=5 -o ServerAliveInterval=60". Полный список всех параметров можно найти в руководстве по ssh_config.--ssh-password=парольЗадаёт пароль для подключения по SSH.
Параметры удалённого архива WAL #
В этом подразделе описываются параметры, позволяющие задать аргументы для использования удалённого режима через SSH.
--archive-host=целевой_адресЗадаёт значение аргумента
--remote-hostдля командыarchive-get.--archive-port=портЗадаёт значение аргумента
--remote-portдля командыarchive-get.По умолчанию:
22--archive-user=имя_пользователяЗадаёт значение аргумента
--remote-userдля командыarchive-get. В отсутствие этого указания используется имя пользователя, запускающего кластер Postgres Pro.По умолчанию: пользователь Postgres Pro
Параметры инкрементального восстановления #
В этом подразделе описываются параметры, связанные с инкрементальным восстановлением кластера. Эти параметры могут передаваться с командой restore.
--Iинкрементальный_режим--incremental-mode=инкрементальный_режимВыбирает инкрементальный режим. Поддерживаются следующие режимы:
CHECKSUM— заменять только страницы с неподходящей контрольной суммой и LSN.LSN— заменять только те страницы, LSN которых больше точки расхождения.NONE— обычное восстановление.
Параметры частичного резервного копирования и восстановления #
В этом подразделе описываются параметры, связанные с частичным резервным копированием и восстановлением кластера. Эти параметры могут передаваться как с командой backup, так и с restore.
--db-exclude-oid=dboidЗадаёт OID базы данных, которая должна быть исключена из числа восстанавливаемых. Все остальные базы данных в кластере будут восстанавливаться, включая
template0иtemplate1. Этот параметр можно задать несколько раз, таким образом исключив несколько баз данных.--db-include-oid=dboidЗадаёт OID базы данных, которая должна восстанавливаться. Все остальные базы данных восстанавливаться не будут, за исключением
template0иtemplate1. Этот параметр можно задать несколько раз, таким образом выбрав для восстановления несколько баз данных.
Эти параметры используются с командой restore.
--db-exclude-name=имя_бдЗадаёт имя базы данных, которая должна быть исключена из числа восстанавливаемых. Все остальные базы данных в кластере будут восстанавливаться, включая
template0иtemplate1. Этот параметр можно задать несколько раз, таким образом исключив несколько баз данных.--db-include-name=имя_бдЗадаёт имя базы данных, которая должна восстанавливаться. Все остальные базы данных восстанавливаться не будут, за исключением
template0иtemplate1. Этот параметр можно задать несколько раз, таким образом выбрав для восстановления несколько баз данных.
Предупреждение
Параметры --db-exclude-oid и --db-include-oid, так же как и параметры --db-exclude-name и --db-include-name, использовать вместе нельзя.
Параметры тестирования и отладки #
В этом подразделе описываются параметры, полезные лишь при тестировании или разработке.
--cfs-nondatafile-modeУказывает команде backup выполнить резервное копирование CFS в режиме предыдущих версий. Этот параметр позволяет настраивать совместимость с версиями pg_probackup3 и предназначен в основном для тестирования.
PGPROBACKUP_TESTS_SKIP_HIDDENУказывает pg_probackup3 игнорировать копии, помеченные как скрытые. Заметьте, что сама утилита pg_probackup3 никогда не помечает копии как скрытые. Добиться такого состояния копии можно, только вручную отредактировав файл
backup.control. Задать этот параметр можно только в переменных окружения.PGPROBACKUP_TESTS_SKIP_EMPTY_COMMITУказывает pg_probackup3 пропускать пустые транзакции после pg_backup_stop.
Авторы #
Postgres Professional, Москва, Россия.