pgBackRest 2.59.1 Документация
Введение
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 стремится быть простым в настройке и эксплуатации:
- Руководства по использованию для различных операционных систем и версий PostgreSQL.
- Справочные страницы команд для работы в командной строке: резервная копия , восстановление , проверка и информация .
- Справочник по конфигурации для создания конфигураций pgBackRest.
Вклад
Вклад в pgBackRest всегда приветствуется! Подробности о том, как вносить изменения, улучшения или сообщать об ошибках, см. в наших Руководство по вкладу .
Поддержка
pgBackRest полностью бесплатен и является программным обеспечением с открытым исходным кодом под лицензией MIT . Вы можете использовать его для личных или коммерческих целей без каких-либо ограничений. Сообщения об ошибках рассматриваются крайне серьезно и будут устранены как можно быстрее. Пожалуйста, сообщайте об ошибках здесь .
Создание надежной политики восстановления после аварий с правильными стратегиями репликации и резервного копирования может быть чрезвычайно сложной и пугающей задачей. Вы можете обнаружить, что вам понадобится помощь на этапе проектирования архитектуры и постоянная поддержка для обеспечения бесперебойной работы вашей корпоративной системы.
Наши спонсоры предлагают продукты и услуги с поддержкой pgBackRest и могут помочь обеспечить аварийное восстановление.
pgBackRest справочник команд со всеми параметрами для резервного копирования, восстановления, архивирования и операций управления