Перейти к содержанию

Это многостраничная версия текущего раздела для печати. .

Вернуться к обычному виду страницы.

pgBackRest 2.59.1 Документация

Надежное резервное копирование и восстановление PostgreSQL — документация и справочник pgBackRest.

Введение

pgBackRest — надёжное решение для резервного копирования и восстановления PostgreSQL, которое бесшовно масштабируется до самых больших баз данных и рабочих нагрузок.

pgBackRest v2.59.1 — текущий стабильный выпуск. Примечания к выпуску находятся на странице Releases .

Поставьте нам звезду на GitHub , если вам нравится pgBackRest!


Новости

Август 17, 2026 — pgBackRest 2.59.1Выпуск

Июль 20, 2026 - Новый архив с дистрибутивом

Июль 20, 2026 — pgBackRest 2.59.0Выпуск


Партнёры

pgBackRest не существовал бы без спонсорства. Написание новых функций, исправление ошибок, проверка вкладов сообщества, ответы на вопросы от пользователей и сопровождение проекта требуют значительных временных затрат. Рассмотрите возможность спонсорства sponsorship , если вы используете pgBackRest в своей корпоративной среде.

Наши спонсоры: AWS , Supabase , pgEdge , Tiger Data , Percona , Eon , Xata , Dalibo , и Data Egret .

Мы благодарны нашим спонсорам за инвестиции в инфраструктуру с открытым исходным кодом, которая приносит пользу всему сообществу PostgreSQL.

Бывшие спонсоры: Crunchy Data , Resonate .


Функции

Параллельное создание резервной копии и восстановление

Сжатие обычно является узким местом при выполнении операций резервного копирования, поэтому pgBackRest решает эту проблему за счёт параллельной обработки и более эффективных алгоритмов сжатия, таких как lz4 и zstd.

Локальная или удалённая операция

Пользовательский протокол позволяет pgBackRest создавать резервные копии, восстанавливать данные и архивировать локально или удаленно через TLS/SSH с минимальной конфигурацией. Через слой протокола также предоставляется интерфейс для запросов к PostgreSQL, поэтому удаленный доступ к PostgreSQL никогда не требуется, что повышает безопасность.

Множественные репозитории

Множественные репозитории позволяют, например, использовать локальный репозиторий с минимальным сроком хранения для быстрого восстановления и удалённый репозиторий с более длительным сроком хранения для обеспечения избыточности и доступа на уровне предприятия.

Полные, дифференциальные и инкрементные резервные копии (на уровне файлов или блоков)

Поддерживаются полные, дифференциальные и инкрементные резервные копии. pgBackRest не подвержен проблемам разрешения времени rsync, что делает дифференциальные и инкрементные резервные копии безопасными без необходимости проверки контрольной суммы каждого файла. Резервные копии на уровне блоков экономят место, копируя только те части файлов, которые изменились.

Вращение резервных копий и истечение срока действия архива

Политики хранения можно настроить для полных и дифференциальных резервных копий, чтобы обеспечить покрытие для любого временного интервала. Архив WAL может храниться для всех резервных копий или строго для последних резервных копий. В последнем случае в архиве будут храниться WAL, необходимые для обеспечения согласованности более старых резервных копий.

Целостность резервной копии

Проверочные суммы вычисляются для каждого файла резервной копии и проверяются при восстановлении или проверке. После завершения копирования файлов резервной копии ожидается, пока каждый сегмент WAL, необходимый для обеспечения согласованности резервной копии, не будет передан в репозиторий.

Резервные копии в репозитории могут храниться в том же формате, что и стандартный кластер PostgreSQL (включая табличные пространства). Если отключена компрессия и включены жесткие ссылки, возможно сделать снимок резервной копии в репозитории и запустить кластер PostgreSQL непосредственно на этом снимке. Это удобно для баз данных терабайтного масштаба, восстановление которых традиционным способом занимает много времени.

Все операции используют синхронизацию на уровне файлов и каталогов fsync для обеспечения устойчивости.

Проверка контрольных сумм страниц

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

Сбои проверки не останавливают процесс резервного копирования, но предупреждения с подробностями о том, какие именно страницы не прошли проверку, выводятся в консоль и файл журнала.

Эта функция позволяет обнаруживать повреждение страницы на ранней стадии, до того, как резервные копии, содержащие действительные копии данных, будут удалены.

Возобновление резервной копии

Прерванную резервную копию можно возобновить с того места, где она была остановлена. Файлы, уже скопированные, сравниваются с контрольными суммами в манифесте для обеспечения целостности. Поскольку эта операция может выполняться полностью на сервере репозитория, это снижает нагрузку на хост PostgreSQL и экономит время, поскольку вычисление контрольных сумм быстрее, чем сжатие и повторная передача данных.

Потоковая компрессия и контрольные суммы

Вычисление сжатия и контрольной суммы выполняется потоково во время копирования файлов в репозиторий, независимо от того, расположен ли репозиторий локально или удалённо.

Если репозиторий находится на сервере репозитория, сжатие выполняется на хосте PostgreSQL, а файлы передаются в сжатом виде и просто сохраняются на сервере репозитория. При отключении сжатия используется более низкий уровень сжатия для эффективного использования доступной пропускной способности при минимальных затратах на CPU.

Дельта-восстановление

Манифест содержит контрольные суммы для каждого файла в резервной копии, что позволяет при восстановлении использовать эти контрольные суммы для значительного ускорения обработки. При дельта-восстановлении сначала удаляются все файлы, отсутствующие в резервной копии, а затем генерируются контрольные суммы для оставшихся файлов. Файлы, совпадающие с резервной копией, остаются на месте, а остальные файлы восстанавливаются обычным образом. Параллельная обработка может привести к значительному сокращению времени восстановления.

Параллельная асинхронная передача и получение WAL

Для отправки WAL в архив и получения WAL из архива предусмотрены специализированные команды. Обе команды поддерживают параллелизм для ускорения обработки и асинхронное выполнение для обеспечения максимально быстрого времени отклика для PostgreSQL.

WAL при автоматическом передаче обнаруживает WAL сегменты, которые передаются несколько раз, и устраняет дублирование, если сегменты идентичны; в противном случае выдается ошибка. Асинхронная передача WAL позволяет перенести передачу на другой процесс, который параллельно сжимает сегменты WAL для достижения максимальной пропускной способности. Это может быть критически важной функцией для баз данных с чрезвычайно высоким объёмом записей.

Асинхронный WAL get поддерживает локальную очередь из WAL сегментов, которые уже расжаты и готовы к воспроизведению. Это сокращает время, необходимое для предоставления WAL PostgreSQL, что максимизирует скорость воспроизведения. Наибольшую выгоду от этого получают соединения и хранилища с высокой задержкой (например, S3).

Команды push и get обеспечивают согласованность между базой данных и репозиторием, сравнивая версии PostgreSQL и системные идентификаторы. Это практически исключает возможность неправильной настройки расположения архива WAL.

Таблицы пространств полностью поддерживаются, и при восстановлении таблицы пространства можно переназначить в любое расположение. Также возможно переназначить все таблицы пространства в одно расположение одной командой, что полезно при восстановлении в среде разработки.

Поддержка ссылок на файлы и каталоги доступна для любого файла или каталога в кластере PostgreSQL. При восстановлении возможно восстановить все ссылки в их исходные расположения, перенаправить некоторые или все ссылки, либо восстановить некоторые или все ссылки как обычные файлы или каталоги внутри каталога кластера.

Поддержка объектных хранилищ S3, Azure и GCS

Репозитории pgBackRest могут находиться в объектных хранилищах S3, Azure и совместимых с GCS для обеспечения практически неограниченной ёмкости и срока хранения.

Шифрование

pgBackRest может шифровать репозиторий для обеспечения безопасности резервных копий независимо от места их хранения.

Защита от ransomware и вредоносного ПО

Когда репозиторий хранится в хранилище объектов с версионированием, pgBackRest может читать репозиторий в состоянии на определённый момент времени. Если резервные копии случайно удалены или повреждены вредоносным ПО или программами-вымогателями, можно использовать целевое время для восстановления данных, существовавших до повреждения.

Поддержка версионирования доступна в хранилищах S3, Azure и совместимых с GCS. Блокировка объектов в S3 и функция мягкого удаления в GCS или Azure могут обеспечить дополнительную защиту от подделки.

Совместимость с десятью версиями PostgreSQL

pgBackRest предоставляет поддержку десяти версий PostgreSQL: пяти поддерживаемых версий и последних пяти версий EOL. Это обеспечивает достаточное время для обновления до поддерживаемой версии.


Начало работы

pgBackRest стремится быть простым в настройке и эксплуатации:


Вклад

Вклад в pgBackRest всегда приветствуется! Подробности о том, как вносить изменения, улучшения или сообщать об ошибках, см. в наших Руководство по вкладу .


Поддержка

pgBackRest полностью бесплатен и является программным обеспечением с открытым исходным кодом под лицензией MIT . Вы можете использовать его для личных или коммерческих целей без каких-либо ограничений. Сообщения об ошибках рассматриваются крайне серьезно и будут устранены как можно быстрее. Пожалуйста, сообщайте об ошибках здесь .

Создание надежной политики восстановления после аварий с правильными стратегиями репликации и резервного копирования может быть чрезвычайно сложной и пугающей задачей. Вы можете обнаружить, что вам понадобится помощь на этапе проектирования архитектуры и постоянная поддержка для обеспечения бесперебойной работы вашей корпоративной системы.

Наши спонсоры предлагают продукты и услуги с поддержкой pgBackRest и могут помочь обеспечить аварийное восстановление.

1 - Справочник команд

pgBackRest справочник команд со всеми параметрами для резервного копирования, восстановления, архивирования и операций управления

Введение

Команды используются для выполнения различных функций pgBackRest. Здесь перечислены исчерпывающе все параметры команд, то есть каждый параметр, применимый к команде, указан вместе с этой командой, даже если он применим к одной или нескольким другим командам. Это включает все параметры, которые также могут быть настроены в pgbackrest.conf.

Опции, не являющиеся логическими, настроенные в pgbackrest.conf, могут быть сброшены на значения по умолчанию на командной строке с использованием префикса reset-. Эта функция может использоваться для восстановления резервной копии непосредственно на сервере репозитория. Обычно pgBackRest выдает ошибку, поскольку видит, что хост базы данных удалённый, и восстановление не может выполняться удалённо. Добавив --reset-pg1-host на командной строке, pgBackRest проигнорирует удалённый хост базы данных и выполнит восстановление локально. Возможно, потребуется передать новый --pg1-path, чтобы заставить восстановление произойти в определённом пути, i.e, а не в пути, использованном на хосте базы данных.

Предикат no- может использоваться для установки логического параметра в значение false из командной строки.

Любая опция может быть установлена в переменной среды с использованием префикса PGBACKREST_ и имени опции в верхнем регистре, заменяя - на _, e.g. pg1-path превращается в PGBACKREST_PG1_PATH, а stanza — в PGBACKREST_STANZA. Логические опции представляются так же, как в файле конфигурации, e.g. Варианты PGBACKREST_COMPRESS="n" и reset-* не допускаются. Опции, которые могут быть указаны несколько раз в командной строке или в файле конфигурации, могут быть представлены путём разделения значений двоеточиями, e.g. PGBACKREST_DB_INCLUDE="db1:db2".

Опции командной строки переопределяют опции среды, которые переопределяют опции файлов конфигурации.

См. Введение в конфигурацию для получения сведений о типах параметров

Команды

КомандаКраткое описание
annotateДобавление, изменение или удаление аннотаций резервной копии после её создания.
archive-getПолучение архивированных сегментов WAL для восстановления, PITR или восстановления реплики.
archive-pushПринятие сегментов WAL от PostgreSQL и передача их в настроенные репозитории.
backupСоздание резервных копий в целевом репозитории (по умолчанию — репозиторий с наивысшим приоритетом).
checkПроверить конфигурацию резервной копии/stanza и архива, а также состояние архивирования WAL.
expireУдалить резервные копии и архивированные WAL на основе настроенных политик хранения.
helpПоказать справку по команде и параметрам на уровне общего, командного или параметрического.
infoОтобразить состояние/stanza и резервной копии/метаданные в текстовом или JSON формате.
repo-getПрочитать файлы репозитория (например, cat) для администрирования, анализа и тестирования.
repo-lsВывести список файлов/путей репозитория (например, ls) для администрирования, анализа и тестирования.
restoreВосстановление из резервной копии (последняя по умолчанию) с необязательным восстановлением до определённого момента времени.
serverЗапуск сервера pgBackRest TLS для удалённого доступа без SSH.
server-pingПроверка доступности сервера pgBackRest TLS для подтверждения установления соединения.
stanza-createСоздание метаданных stanza во всех настроенных репозиториях.
stanza-deleteПостоянное удаление всех резервных копий и архивов для stanza.
stanza-upgradeОбновление метаданных stanza после обновления основной версии PostgreSQL.
startРазрешить повторный запуск процессов pgBackRest после предыдущего stop.
stopЗапретить запуск новых процессов pgBackRest и по желанию принудительно остановить работающие.
verifyПроверить корректность данных резервной копии и архива в репозитории.
versionОтобразить установленную версию pgBackRest.

1.1 - Команда справки (help)

Справочник по параметрам и поведению команды pgBackRest help.

Предоставляется три уровня справки. Если команда не указана, будет отображена общая справка. Если указана команда (e.g. pgbackrest help backup), будет отображено полное описание команды вместе со списком допустимых параметров. Если указать параметр вместе с командой (e.g. pgbackrest help backup type), будет отображено полное описание параметра применительно к команде.

Опции команды

Показать сведения о параметре помощи (--help)

Показать справку.

Отображает справку даже если команда help не указана и переопределяет опцию --version.

default: n
example: --help

Параметр отображения версии (--version)

Показать версию.

Отображает версию даже если не указаны команды version или help.

default: n
example: --version

1.2 - Команда сервера (server)

Справочник по параметрам и поведению команды pgBackRest server.

Сервер pgBackRest позволяет осуществлять доступ с удалённых хостов без использования протокола SSH.

Опции команды

TLS Параметр адреса сервера (--tls-server-address)

Адрес сервера TLS.

IP-адрес, на котором сервер будет слушать запросы клиентов.

default: localhost
example: --tls-server-address=*

TLS Параметр авторизованных клиентов сервера (--tls-server-auth)

TLS сервер авторизованных клиентов.

Клиенты авторизуются на сервере путём проверки их сертификата и проверки соответствия имени субъекта (CN) сертификата списку на сервере, настроенного с помощью опции tls-server-auth.

Клиентский CN может быть авторизован для любого количества stanza, указав список, разделённый запятыми, в опции tls-server-auth, или для всех stanza, указав tls-server-auth=client-cn=*. Для клиентского CN нельзя указывать подстановочные знаки.

example: --tls-server-auth=client-cn=stanza1,stanza2

TLS Параметр сертификатов удостоверяющих центров сервера (--tls-server-ca-file)

TLS сертификаты удостоверяющих центров сервера.

Проверяет, что сертификаты клиентов подписаны доверенным центром сертификации.

example: --tls-server-ca-file=/path/to/server.ca

TLS Параметр сертификата сервера (--tls-server-cert-file)

Файл сертификата сервера TLS.

Отправляется клиенту для отображения идентичности сервера.

example: --tls-server-cert-file=/path/to/server.crt

Ключевая опция сервера TLS (--tls-server-key-file)

Файл ключа сервера TLS.

Проверяет, что сертификат сервера был отправлен его владельцем.

example: --tls-server-key-file=/path/to/server.key

Параметр порта сервера TLS (--tls-server-port)

Порт сервера TLS.

Порт, на котором сервер будет слушать запросы клиентов.

default: 8432
allowed: [1, 65535]
example: --tls-server-port=8000

Общие параметры

Разрешить запуск от имени root (--allow-root)

Разрешите команде выполняться от имени пользователя root.

По умолчанию только команда restore может выполняться от пользователя root, поскольку она предназначена для тщательного управления принадлежностью файлов. Выполнение других команд от пользователя root может привести к созданию файлов (например, в репозитории), принадлежащих root, и, как следствие, недоступных для пользователя PostgreSQL, что вызовет сбой последующих команд.

Включите этот параметр, чтобы запустить команду от имени root. Однако гораздо лучше запускать pgBackRest от пользователя, владеющего репозиторием и кластером PostgreSQL.

default: n
example: --allow-root

Опция размера буфера (--buffer-size)

Размер буфера для операций ввода-вывода.

Размер буфера, используемый для копирования, сжатия, шифрования и других операций. Количество используемых буферов зависит от параметров, и каждая операция может использовать дополнительную память, например, сжатие gz может потребовать дополнительно 256KiB памяти.

Допустимые значения: 16KiB, 32KiB, 64KiB, 128KiB, 256KiB, 512KiB, 1MiB, 2MiB, 4MiB, 8MiB и 16MiB.

default: 1MiB
example: --buffer-size=2MiB

Параметр конфигурации (--config)

Конфигурационный файл pgBackRest.

Используйте этот параметр для указания другого файла конфигурации, отличного от файла по умолчанию.

default: CFGOPTDEF_CONFIG_PATH "/" PROJECT_CONFIG_FILE
example: --config=/conf/pgbackrest/pgbackrest.conf

Путь включения конфигурации (--config-include-path)

Путь к дополнительным файлам конфигурации pgBackRest.

Конфигурационные файлы, существующие в указанном расположении с расширением .conf, будут объединены с конфигурационным файлом pgBackRest, в результате чего будет создан один конфигурационный файл.

default: CFGOPTDEF_CONFIG_PATH "/" PROJECT_CONFIG_INCLUDE_PATH
example: --config-include-path=/conf/pgbackrest/conf.d

Путь к конфигурации (--config-path)

Базовый путь файлов конфигурации pgBackRest.

Этот параметр используется для переопределения пути по умолчанию для параметров --config и --config-include-path, если они не заданы непосредственно в командной строке.

Например, передача только --config-path=/conf/pgbackrest приводит к установке значения по умолчанию для --config в /conf/pgbackrest/pgbackrest.conf и значения по умолчанию для --config-include-path в /conf/pgbackrest/conf.d.

default: CFGOPTDEF_CONFIG_PATH
example: --config-path=/conf/pgbackrest

Параметр тайм-аута ввода-вывода (--io-timeout)

Тайм-аут ввода-вывода.

Тайм-аут, в секундах, используемый для соединений и операций чтения/записи.

Примечание: вся операция чтения/записи не должна завершаться в течение этого тайм-аута, но должна быть сделана какая-либо прогресс, даже если это всего лишь один байт.

default: 1m
allowed: [100ms, 1h]
example: --io-timeout=120

Установка параметра приоритета процесса (--priority)

Установите приоритет процесса.

Определяет, какой приоритет (то есть уровень «приоритетности») будет присвоен процессу планировщиком ядра. Положительные значения уменьшают приоритет, отрицательные — увеличивают. В большинстве случаев у процессов нет разрешения повышать свой приоритет.

allowed: [-20, 19]
example: --priority=19

Опция тайм-аута протокола (--protocol-timeout)

Тайм-аут протокола.

Задаёт тайм-аут, в секундах, на который локальный или удалённый процесс будет ждать получения нового сообщения на уровне протокола. Это предотвращает бесконечное ожидание сообщения процессами.

NOTE: параметр protocol-timeout должен быть больше, чем параметр db-timeout.

default: 31m
allowed: [100ms, 7d]
example: --protocol-timeout=630

Параметр Keep Alive (--sck-keep-alive)

Включить keep-alive.

Включает сообщения keep-alive для сетевых соединений.

default: y
example: --no-sck-keep-alive

Параметр количества Keep Alive (--tcp-keep-alive-count)

Количество keep-alive.

Указывает количество сообщений-keep-alive TCP, которые могут быть потеряны, прежде чем соединение будет признано неработоспособным.

Этот параметр доступен на системах, которые поддерживают опцию сокета TCP_KEEPCNT.

allowed: [1, 32]
example: --tcp-keep-alive-count=3

Параметр простоя Keep Alive (--tcp-keep-alive-idle)

Время простоя для поддержания соединения.

Указывает количество времени (в секундах) без сетевой активности, по истечении которого операционная система должна отправить сообщение-keep-alive TCP.

Этот параметр доступен на системах, которые поддерживают опцию сокета TCP_KEEPIDLE.

allowed: [1, 3600]
example: --tcp-keep-alive-idle=60

Параметр интервала Keep Alive (--tcp-keep-alive-interval)

Интервал времени для keep-alive.

Указывает количество времени (в секундах), по истечении которого сообщение keep-alive TCP, не подтверждённое получателем, должно быть повторно отправлено.

Этот параметр доступен на системах, которые поддерживают опцию сокета TCP_KEEPINTVL.

allowed: [1, 900]
example: --tcp-keep-alive-interval=30

Списки шифров TLSv1.2 (параметр --tls-cipher-12)

Разрешённые наборы шифров TLSv1.2

Все соединения TLS между клиентом pgBackRest и сервером зашифрованы. По умолчанию также зашифрованы соединения с объектными хранилищами (например, S3).

NOTE: Минимальный уровень безопасности для любого соединения по транспортному протоколу — TLSv1.2

Доступные наборы шифров можно настроить при необходимости. Приведённый пример — разумный выбор, если у вас нет особых требований к безопасности. Если не установлено (по умолчанию), применяется значение по умолчанию библиотеки OpenSSL.

example: --tls-cipher-12=HIGH:MEDIUM:+3DES:!aNULL

Списки шифров TLSv1.3 (параметр) (--tls-cipher-13)

Разрешённые наборы шифров TLSv1.3

Все соединения TLS между клиентом pgBackRest и сервером зашифрованы. По умолчанию также зашифрованы соединения с объектными хранилищами (например, S3).

NOTE: Минимальный уровень безопасности для любого соединения по транспортному протоколу — TLSv1.2

Доступные наборы шифров можно настроить при необходимости. Если не установлено (значение по умолчанию), применяется значение по умолчанию библиотеки OpenSSL.

example: --tls-cipher-13=TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256

Параметры журналирования

Опция уровня журналирования консоли (--log-level-console)

Уровень ведения журнала для консоли.

Поддерживаются следующие уровни журналирования:

  • off — ведение журнала отключено (не рекомендуется)
  • error — ведение журнала только ошибок
  • warn — ведение журнала предупреждений и ошибок
  • info — ведение журнала информации, предупреждений и ошибок
  • detail — ведение журнала деталей, информации, предупреждений и ошибок
  • debug — ведение журнала отладки, деталей, информации, предупреждений и ошибок
  • trace — ведение журнала трассировки (очень подробная отладка), отладки, информации, предупреждений и ошибок
default: warn
example: --log-level-console=error

Опция уровня журналирования файла (--log-level-file)

Уровень ведения журнала для файлов.

Поддерживаются следующие уровни журналирования:

  • off — ведение журнала отключено (не рекомендуется)
  • error — ведение журнала только ошибок
  • warn — ведение журнала предупреждений и ошибок
  • info — ведение журнала информации, предупреждений и ошибок
  • detail — ведение журнала деталей, информации, предупреждений и ошибок
  • debug — ведение журнала отладки, деталей, информации, предупреждений и ошибок
  • trace — ведение журнала трассировки (очень подробная отладка), отладки, информации, предупреждений и ошибок
default: info
example: --log-level-file=debug

Опция уровня журнала стандартных ошибок (--log-level-stderr)

Уровень ведения журнала для stderr.

Указывает, какие уровни журналов будут выводиться в stderr вместо stdout (указано в log-level-console). Временная метка и процесс не будут выводиться в stderr.

Поддерживаются следующие уровни журналирования:

  • off — ведение журнала отключено (не рекомендуется)
  • error — ведение журнала только ошибок
  • warn — ведение журнала предупреждений и ошибок
  • info — ведение журнала информации, предупреждений и ошибок
  • detail — ведение журнала деталей, информации, предупреждений и ошибок
  • debug — ведение журнала отладки, деталей, информации, предупреждений и ошибок
  • trace — ведение журнала трассировки (очень подробная отладка), отладки, информации, предупреждений и ошибок
default: off
example: --log-level-stderr=error

Параметр пути журнала (--log-path)

Путь, по которому хранятся файлы журналов.

Путь к журналу задаёт местоположение для хранения файлов журналов pgBackRest. Примечание: если log-level-file=off, то путь к журналу не требуется.

default: /var/log/pgbackrest
example: --log-path=/backup/db/log

Опция временной метки журнала (--log-timestamp)

Включите метку времени в ведении журнала.

Включает метку времени в журнале консоли и файлов. Этот параметр отключен в особых ситуациях, таких как генерация документации.

default: y
example: --no-log-timestamp

1.3 - Команда проверки доступности сервера (server-ping)

Справочник по параметрам и поведению команды pgBackRest server-ping.

Проверьте доступность сервера pgBackRest TLS с помощью ping, чтобы убедиться, что он принимает соединения. Это служит проверкой работоспособности, так как аутентификация не выполняется.

Если на командной строке не указан хост, будет использован параметр tls-server-host.

Опции команды

TLS Параметр адреса сервера (--tls-server-address)

Адрес сервера TLS.

IP-адрес, на котором сервер будет слушать запросы клиентов.

default: localhost
example: --tls-server-address=*

Параметр порта сервера TLS (--tls-server-port)

Порт сервера TLS.

Порт, на котором сервер будет слушать запросы клиентов.

default: 8432
allowed: [1, 65535]
example: --tls-server-port=8000

Общие параметры

Разрешить запуск от имени root (--allow-root)

Разрешите команде выполняться от имени пользователя root.

По умолчанию только команда restore может выполняться от пользователя root, поскольку она предназначена для тщательного управления принадлежностью файлов. Выполнение других команд от пользователя root может привести к созданию файлов (например, в репозитории), принадлежащих root, и, как следствие, недоступных для пользователя PostgreSQL, что вызовет сбой последующих команд.

Включите этот параметр, чтобы запустить команду от имени root. Однако гораздо лучше запускать pgBackRest от пользователя, владеющего репозиторием и кластером PostgreSQL.

default: n
example: --allow-root

Опция размера буфера (--buffer-size)

Размер буфера для операций ввода-вывода.

Размер буфера, используемый для копирования, сжатия, шифрования и других операций. Количество используемых буферов зависит от параметров, и каждая операция может использовать дополнительную память, например, сжатие gz может потребовать дополнительно 256KiB памяти.

Допустимые значения: 16KiB, 32KiB, 64KiB, 128KiB, 256KiB, 512KiB, 1MiB, 2MiB, 4MiB, 8MiB и 16MiB.

default: 1MiB
example: --buffer-size=2MiB

Параметр конфигурации (--config)

Конфигурационный файл pgBackRest.

Используйте этот параметр для указания другого файла конфигурации, отличного от файла по умолчанию.

default: CFGOPTDEF_CONFIG_PATH "/" PROJECT_CONFIG_FILE
example: --config=/conf/pgbackrest/pgbackrest.conf

Путь включения конфигурации (--config-include-path)

Путь к дополнительным файлам конфигурации pgBackRest.

Конфигурационные файлы, существующие в указанном расположении с расширением .conf, будут объединены с конфигурационным файлом pgBackRest, в результате чего будет создан один конфигурационный файл.

default: CFGOPTDEF_CONFIG_PATH "/" PROJECT_CONFIG_INCLUDE_PATH
example: --config-include-path=/conf/pgbackrest/conf.d

Путь к конфигурации (--config-path)

Базовый путь файлов конфигурации pgBackRest.

Этот параметр используется для переопределения пути по умолчанию для параметров --config и --config-include-path, если они не заданы непосредственно в командной строке.

Например, передача только --config-path=/conf/pgbackrest приводит к установке значения по умолчанию для --config в /conf/pgbackrest/pgbackrest.conf и значения по умолчанию для --config-include-path в /conf/pgbackrest/conf.d.

default: CFGOPTDEF_CONFIG_PATH
example: --config-path=/conf/pgbackrest

Параметр тайм-аута ввода-вывода (--io-timeout)

Тайм-аут ввода-вывода.

Тайм-аут, в секундах, используемый для соединений и операций чтения/записи.

Примечание: вся операция чтения/записи не должна завершаться в течение этого тайм-аута, но должна быть сделана какая-либо прогресс, даже если это всего лишь один байт.

default: 1m
allowed: [100ms, 1h]
example: --io-timeout=120

Установка параметра приоритета процесса (--priority)

Установите приоритет процесса.

Определяет, какой приоритет (то есть уровень «приоритетности») будет присвоен процессу планировщиком ядра. Положительные значения уменьшают приоритет, отрицательные — увеличивают. В большинстве случаев у процессов нет разрешения повышать свой приоритет.

allowed: [-20, 19]
example: --priority=19

Параметр Keep Alive (--sck-keep-alive)

Включить keep-alive.

Включает сообщения keep-alive для сетевых соединений.

default: y
example: --no-sck-keep-alive

Параметр количества Keep Alive (--tcp-keep-alive-count)

Количество keep-alive.

Указывает количество сообщений-keep-alive TCP, которые могут быть потеряны, прежде чем соединение будет признано неработоспособным.

Этот параметр доступен на системах, которые поддерживают опцию сокета TCP_KEEPCNT.

allowed: [1, 32]
example: --tcp-keep-alive-count=3

Параметр простоя Keep Alive (--tcp-keep-alive-idle)

Время простоя для поддержания соединения.

Указывает количество времени (в секундах) без сетевой активности, по истечении которого операционная система должна отправить сообщение-keep-alive TCP.

Этот параметр доступен на системах, которые поддерживают опцию сокета TCP_KEEPIDLE.

allowed: [1, 3600]
example: --tcp-keep-alive-idle=60

Параметр интервала Keep Alive (--tcp-keep-alive-interval)

Интервал времени для keep-alive.

Указывает количество времени (в секундах), по истечении которого сообщение keep-alive TCP, не подтверждённое получателем, должно быть повторно отправлено.

Этот параметр доступен на системах, которые поддерживают опцию сокета TCP_KEEPINTVL.

allowed: [1, 900]
example: --tcp-keep-alive-interval=30

Списки шифров TLSv1.2 (параметр --tls-cipher-12)

Разрешённые наборы шифров TLSv1.2

Все соединения TLS между клиентом pgBackRest и сервером зашифрованы. По умолчанию также зашифрованы соединения с объектными хранилищами (например, S3).

NOTE: Минимальный уровень безопасности для любого соединения по транспортному протоколу — TLSv1.2

Доступные наборы шифров можно настроить при необходимости. Приведённый пример — разумный выбор, если у вас нет особых требований к безопасности. Если не установлено (по умолчанию), применяется значение по умолчанию библиотеки OpenSSL.

example: --tls-cipher-12=HIGH:MEDIUM:+3DES:!aNULL

Списки шифров TLSv1.3 (параметр) (--tls-cipher-13)

Разрешённые наборы шифров TLSv1.3

Все соединения TLS между клиентом pgBackRest и сервером зашифрованы. По умолчанию также зашифрованы соединения с объектными хранилищами (например, S3).

NOTE: Минимальный уровень безопасности для любого соединения по транспортному протоколу — TLSv1.2

Доступные наборы шифров можно настроить при необходимости. Если не установлено (значение по умолчанию), применяется значение по умолчанию библиотеки OpenSSL.

example: --tls-cipher-13=TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256

Параметры журналирования

Опция уровня журналирования консоли (--log-level-console)

Уровень ведения журнала для консоли.

Поддерживаются следующие уровни журналирования:

  • off — ведение журнала отключено (не рекомендуется)
  • error — ведение журнала только ошибок
  • warn — ведение журнала предупреждений и ошибок
  • info — ведение журнала информации, предупреждений и ошибок
  • detail — ведение журнала деталей, информации, предупреждений и ошибок
  • debug — ведение журнала отладки, деталей, информации, предупреждений и ошибок
  • trace — ведение журнала трассировки (очень подробная отладка), отладки, информации, предупреждений и ошибок
default: warn
example: --log-level-console=error

Опция уровня журналирования файла (--log-level-file)

Уровень ведения журнала для файлов.

Поддерживаются следующие уровни журналирования:

  • off — ведение журнала отключено (не рекомендуется)
  • error — ведение журнала только ошибок
  • warn — ведение журнала предупреждений и ошибок
  • info — ведение журнала информации, предупреждений и ошибок
  • detail — ведение журнала деталей, информации, предупреждений и ошибок
  • debug — ведение журнала отладки, деталей, информации, предупреждений и ошибок
  • trace — ведение журнала трассировки (очень подробная отладка), отладки, информации, предупреждений и ошибок
default: info
example: --log-level-file=debug

Опция уровня журнала стандартных ошибок (--log-level-stderr)

Уровень ведения журнала для stderr.

Указывает, какие уровни журналов будут выводиться в stderr вместо stdout (указано в log-level-console). Временная метка и процесс не будут выводиться в stderr.

Поддерживаются следующие уровни журналирования:

  • off — ведение журнала отключено (не рекомендуется)
  • error — ведение журнала только ошибок
  • warn — ведение журнала предупреждений и ошибок
  • info — ведение журнала информации, предупреждений и ошибок
  • detail — ведение журнала деталей, информации, предупреждений и ошибок
  • debug — ведение журнала отладки, деталей, информации, предупреждений и ошибок
  • trace — ведение журнала трассировки (очень подробная отладка), отладки, информации, предупреждений и ошибок
default: off
example: --log-level-stderr=error

Параметр пути журнала (--log-path)

Путь, по которому хранятся файлы журналов.

Путь к журналу задаёт местоположение для хранения файлов журналов pgBackRest. Примечание: если log-level-file=off, то путь к журналу не требуется.

default: /var/log/pgbackrest
example: --log-path=/backup/db/log

Опция временной метки журнала (--log-timestamp)

Включите метку времени в ведении журнала.

Включает метку времени в журнале консоли и файлов. Этот параметр отключен в особых ситуациях, таких как генерация документации.

default: y
example: --no-log-timestamp

1.4 - Команда версии (version)

Справочник по параметрам и поведению команды pgBackRest version

Отображает установленную версию pgBackRest.

Опции команды

Параметр вывода (--output)

Тип вывода.

Поддерживаются следующие типы вывода:

  • text — Отображает установленную версию pgBackRest в виде текста.
  • num — Отображает установленную версию pgBackRest в виде целого числа.
default: text
example: --output=num