
pgbackrest release/2.59.0
Параллельное решение для резервного копирования и восстановления PostgreSQL с шифрованием, дельта-восстановлением и поддержкой мультиоблачных объектных хранилищ для аварийного восстановления на уровне предприятия.
pgBackRest
Надёжное резервное копирование и восстановление PostgreSQL
Введение
pgBackRest — это надёжное решение для резервного копирования и восстановления PostgreSQL, которое без проблем масштабируется на самые большие базы данных и рабочие нагрузки.
pgBackRest v2.59.1 — текущий стабильный выпуск. Примечания к выпускам находятся на странице Releases.
Поставьте нам звезду на GitHub, если вам нравится pgBackRest!
Новости
17 августа 2026 — Выпущен pgBackRest 2.59.1
20 июля 2026 — Новый дистрибутивный tar-архив
20 июля 2026 — Выпущен pgBackRest 2.59.0
Возможности
Параллельное резервное копирование и восстановление
Сжатие обычно является узким местом при операциях резервного копирования, поэтому pgBackRest решает эту проблему с помощью параллельной обработки и более эффективных алгоритмов сжатия, таких как lz4 и zstd.
Локальная или удалённая работа
Собственный протокол позволяет pgBackRest выполнять резервное копирование, восстановление и архивирование локально или удалённо через TLS/SSH с минимальной настройкой. Через уровень протокола также предоставляется интерфейс для запросов к PostgreSQL, поэтому удалённый доступ к PostgreSQL не требуется, что повышает безопасность.
Несколько репозиториев
Несколько репозиториев позволяют, например, использовать локальный репозиторий с минимальным сроком хранения для быстрого восстановления и удалённый репозиторий с более длительным сроком хранения для избыточности и доступа в масштабах предприятия.
Полные, дифференциальные и инкрементальные резервные копии (на уровне файлов или блоков)
Поддерживаются полные, дифференциальные и инкрементальные резервные копии. pgBackRest не подвержен проблемам разрешения времени rsync, что делает дифференциальные и инкрементальные резервные копии безопасными без необходимости вычислять контрольные суммы для каждого файла. Резервное копирование на уровне блоков экономит место, копируя только те части файлов, которые изменились.
Ротация резервных копий и срок хранения архива
Политики хранения можно задавать для полных и дифференциальных резервных копий, чтобы обеспечить покрытие для любого периода времени. Архив WAL может поддерживаться для всех резервных копий или строго для самых последних. В последнем случае WAL, необходимый для согласованности более старых резервных копий, будет сохраняться в архиве.
Целостность резервных копий
Контрольные суммы вычисляются для каждого файла в резервной копии и повторно проверяются при восстановлении или проверке. После завершения копирования файлов pgBackRest ожидает доставки в репозиторий каждого сегмента WAL, необходимого для обеспечения согласованности резервной копии.
Резервные копии в репозитории могут храниться в том же формате, что и обычный кластер PostgreSQL (включая табличные пространства). Если сжатие отключено и включены жёсткие ссылки, можно создать снимок резервной копии в репозитории и поднять кластер PostgreSQL непосредственно на этом снимке. Это выгодно для баз данных масштаба терабайт, восстановление которых традиционным способом занимает много времени.
Все операции используют fsync на уровне файлов и каталогов для обеспечения долговечности.
Контрольные суммы страниц
Если контрольные суммы страниц включены, pgBackRest проверяет контрольные суммы для каждого файла, копируемого во время резервного копирования. Все контрольные суммы страниц проверяются во время полного резервного копирования, а контрольные суммы в изменившихся файлах проверяются во время дифференциального и инкрементального резервного копирования.
Сбои проверки не останавливают процесс резервного копирования, но предупреждения с указанием точных страниц, не прошедших проверку, выводятся в консоль и файл журнала.
Эта функция позволяет обнаружить повреждение на уровне страниц на ранней стадии, до истечения срока хранения резервных копий, содержащих корректные копии данных.
Возобновление резервного копирования
Прерванное резервное копирование можно возобновить с точки остановки. Уже скопированные файлы сравниваются с контрольными суммами в манифесте для обеспечения целостности. Поскольку эта операция может выполняться полностью на хосте репозитория, она снижает нагрузку на хост PostgreSQL и экономит время, так как вычисление контрольных сумм выполняется быстрее, чем сжатие и повторная передача данных.
Потоковое сжатие и контрольные суммы
Сжатие и вычисление контрольных сумм выполняются в потоковом режиме во время копирования файлов в репозиторий, независимо от того, расположен ли репозиторий локально или удалённо.
Если репозиторий находится на хосте репозитория, сжатие выполняется на хосте PostgreSQL, а файлы передаются в сжатом формате и просто сохраняются на хосте репозитория. Когда сжатие отключено, используется более низкий уровень сжатия для эффективного использования доступной пропускной способности при минимальных затратах CPU.
Дельта-восстановление
Манифест содержит контрольные суммы для каждого файла в резервной копии, поэтому во время восстановления можно использовать эти контрольные суммы для значительного ускорения процесса. При дельта-восстановлении сначала удаляются все файлы, отсутствующие в резервной копии, а затем для оставшихся файлов вычисляются контрольные суммы. Файлы, совпадающие с резервной копией, остаются на месте, а остальные восстанавливаются обычным образом. Параллельная обработка может привести к значительному сокращению времени восстановления.
Параллельная асинхронная отправка и получение WAL
Включены отдельные команды для отправки WAL в архив и получения WAL из архива. Обе команды поддерживают параллелизм для ускорения обработки и работают асинхронно, обеспечивая максимально быстрый отклик для PostgreSQL.
Отправка WAL автоматически обнаруживает сегменты WAL, которые отправляются несколько раз, и дедуплицирует их, если сегмент идентичен; в противном случае возникает ошибка. Асинхронная отправка WAL позволяет перенести передачу в отдельный процесс, который параллельно сжимает сегменты WAL для максимальной пропускной способности. Это может быть критически важной функцией для баз данных с очень высоким объёмом записи.
Асинхронное получение WAL поддерживает локальную очередь сегментов WAL, которые уже распакованы и готовы к воспроизведению. Это сокращает время предоставления WAL PostgreSQL, что максимизирует скорость воспроизведения. Соединения и хранилища с высокой задержкой (например, S3) выигрывают больше всего.
Команды отправки и получения гарантируют соответствие базы данных и репозитория путём сравнения версий PostgreSQL и системных идентификаторов. Это практически исключает возможность неправильной настройки местоположения архива WAL.
Поддержка табличных пространств и ссылок
Табличные пространства полностью поддерживаются, и при восстановлении их можно переназначить на любое расположение. Также можно переназначить все табличные пространства в одно расположение одной командой, что удобно для восстановления в целях разработки.
Ссылки на файлы и каталоги поддерживаются для любого файла или каталога в кластере PostgreSQL. При восстановлении можно восстановить все ссылки в исходные расположения, переназначить некоторые или все ссылки либо восстановить некоторые или все ссылки как обычные файлы или каталоги в каталоге кластера.
Поддержка S3, Azure и GCS
Репозитории pgBackRest могут располагаться в объектных хранилищах, совместимых с S3, Azure и GCS, что обеспечивает практически неограниченную ёмкость и срок хранения.
Шифрование
pgBackRest может шифровать репозиторий для защиты резервных копий, где бы они ни хранились.
Защита от программ-вымогателей и вредоносных программ
Когда репозиторий хранится в объектном хранилище с версионированием, pgBackRest может читать репозиторий на любой момент времени. Если резервные копии были удалены или повреждены случайно, вредоносным ПО или программами-вымогателями, целевое время может быть использовано для восстановления данных из состояния до повреждения.
Версионирование поддерживается объектными хранилищами, совместимыми с S3, Azure и GCS. Блокировка объектов для S3 и обратимое удаление для GCS или Azure могут обеспечить дополнительную защиту от несанкционированного вмешательства.
Совместимость с десятью версиями PostgreSQL
pgBackRest включает поддержку десяти версий PostgreSQL: пяти поддерживаемых версий и последних пяти версий, достигших конца жизни (EOL). Это даёт достаточно времени для обновления до поддерживаемой версии.
Начало работы
pgBackRest стремится быть простым в настройке и эксплуатации:
- Руководства пользователя для различных операционных систем и версий PostgreSQL.
- Справочник команд для операций из командной строки.
- Справочник по конфигурации для создания конфигураций pgBackRest.
Спонсоры
pgBackRest не существовал бы без спонсорства: новые функции, исправления ошибок, рецензирование вкладов, поддержка сообщества и сопровождение требуют значительного времени. Пожалуйста, рассмотрите возможность спонсорства, если вы используете pgBackRest в своей организации.
Наши спонсоры: AWS, Supabase, pgEdge, Tiger Data, Percona, Eon, Xata, Dalibo, Data Egret.
Мы благодарны нашим спонсорам за инвестиции в open-source инфраструктуру, которая приносит пользу всему сообществу PostgreSQL.
Прошлые спонсоры: Crunchy Data, Resonate.
Вклад в проект
Вклад в pgBackRest всегда приветствуется! Пожалуйста, ознакомьтесь с нашими Рекомендациями по внесению вклада для получения подробной информации о том, как предлагать функции, улучшения или сообщать о проблемах.
Поддержка
pgBackRest полностью бесплатен и имеет открытый исходный код под лицензией MIT. Вы можете использовать его в личных или коммерческих целях без каких-либо ограничений. Сообщения об ошибках воспринимаются очень серьёзно и обрабатываются максимально быстро. Пожалуйста, сообщайте об ошибках здесь.
Создание надёжной политики аварийного восстановления с правильными стратегиями репликации и резервного копирования может быть очень сложной и трудоёмкой задачей. Возможно, вам потребуется помощь на этапе проектирования архитектуры и постоянная поддержка для обеспечения бесперебойной работы вашей организации.
Наши спонсоры предлагают продукты и услуги, включающие поддержку pgBackRest, и могут помочь с вашими потребностями в аварийном восстановлении.