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

Новости

Официальные новости проекта pgBackRest, объявления о выпусках и сведения о сопровождении.

Слабые подключи шифрования и соли

4 октября 2026

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

Такая ошибка должна возникать редко. Возможные причины — песочница или политика seccomp, блокирующая системный вызов getrandom(), а также некорректная конфигурация OpenSSL.

Основную опасность представляют подключи в archive.info и backup.info. Они создаются однократно командой stanza-create и используются на протяжении всего срока существования stanza, поэтому обновление не заменяет слабый подключ. Слабые подключи резервных копий и соли удаляются по мере истечения срока хранения резервных копий и WAL.

Последствия

Подключ WAL хранится в archive.info, а подключ манифестов — в backup.info. Слабый подключ легче угадать, чем случайный; угаданный подключ позволяет расшифровать зашифрованные им файлы без repo-cipher-pass. Насколько это легче, зависит от содержимого памяти, которое различается в зависимости от платформы и сборки. Слабый подключ в archive.info ставит под угрозу все WAL в репозитории. Слабый подключ в backup.info ставит под угрозу все резервные копии, поскольку манифесты зашифрованы этим подключом, а каждый манифест хранит подключ для файлов соответствующей резервной копии. Это относится и к WAL и резервным копиям, добавленным после обновления.

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

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

Проверка подключей

Выполните следующие команды на узле с доступом к репозиторию, указав имя stanza в STANZA. Чтобы проверить репозиторий, отличный от первого, добавьте --repo к командам pgbackrest.

STANZA=demo

for file in archive/$STANZA/archive.info backup/$STANZA/backup.info; do
    for key in $(pgbackrest --stanza=$STANZA repo-get $file | grep '^cipher-pass=' | grep -oE '[A-Za-z0-9+/]{64}'); do
        echo "$(printf '%s' $key | base64 -d | od -An -v -tx1 | tr -s ' ' '\n' | grep -c '^00$') $file"
    done
done

Первый столбец — число нулевых байтов в подключе. Случайный подключ содержит 6 или более нулевых байтов реже чем в одном случае из 25 000 000, тогда как слабые подключи, обнаруженные при тестировании, содержали 13 или более. Подключ с 6 или более нулевыми байтами следует считать слабым.

OpenSSL 1.0

Версии pgBackRest до 2.53 можно было собирать с OpenSSL 1.0. Если ему не удаётся получить случайные данные от операционной системы, он генерирует случайные данные из состояния, которое не было инициализировано случайными данными. Созданные таким образом слабые подключи нельзя обнаружить описанной выше проверкой.

Устранение проблемы

  • Обновитесь до pgBackRest 2.59.3 или более новой версии: они сообщают об ошибке, если не удаётся сгенерировать случайные данные.
  • Если подключ в archive.info или backup.info слабый, создайте stanza в новом репозитории и сохраняйте старый репозиторий лишь до тех пор, пока нужны его резервные копии.
  • Рассмотрите возможность создания новой полной резервной копии после обновления, поскольку дифференциальные и инкрементальные копии используют подключ своей полной резервной копии.
  • Слабые подключи резервных копий и соли удаляются по мере истечения срока хранения резервных копий и WAL, созданных до обновления. Копии с длительным сроком хранения сохраняют их до истечения этого срока.

Выпущен pgBackRest 2.59.3

4 октября 2026

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

pgBackRest предоставляет широкий набор надёжных средств управления инфраструктурой резервного копирования и восстановления: параллельное резервное копирование и восстановление, полные, дифференциальные и инкрементные резервные копии, инкрементное копирование на уровне блоков, несколько репозиториев, дельта-восстановление, параллельное асинхронное архивирование, защиту от вредоносных программ и программ-вымогателей, контрольные суммы отдельных файлов, проверку контрольных сумм страниц при резервном копировании (если они включены), несколько типов сжатия, шифрование, возобновление частично выполненного или прерванного резервного копирования, копирование с резервного сервера, поддержку табличных пространств и ссылок, поддержку S3/Azure/GCS/SFTP, удаление резервных копий по сроку хранения, локальную и удалённую работу через SSH или TLS, гибкую конфигурацию и многое другое.

pgBackRest можно установить из репозитория PostgreSQL Yum или репозитория PostgreSQL APT ; пакеты также доступны для многих других дистрибутивов. Исходный код можно загрузить со страницы выпусков .

Исправления ошибок

  • Исправлена возможная генерация слабых подключей шифрования и солей (j0uinim)
  • Исправлена возможная ошибка контрольной суммы при загрузке зашифрованных информационных файлов и манифестов (j0uinim)

Дополнительные исправления и улучшения описаны в примечаниях к выпуску 2.59.3 .

Важные примечания

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

Спонсорская поддержка

Этот выпуск стал возможен благодаря щедрой спонсорской поддержке AWS , Supabase , pgEdge , Tiger Data , Percona , Eon , Xata , Dalibo и Data Egret .


Выпущен pgBackRest 2.59.2

27 сентября 2026

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

pgBackRest предоставляет широкий набор надёжных средств управления инфраструктурой резервного копирования и восстановления: параллельное резервное копирование и восстановление, полные, дифференциальные и инкрементные резервные копии, инкрементное копирование на уровне блоков, несколько репозиториев, дельта-восстановление, параллельное асинхронное архивирование, защиту от вредоносных программ и программ-вымогателей, контрольные суммы отдельных файлов, проверку контрольных сумм страниц при резервном копировании (если они включены), несколько типов сжатия, шифрование, возобновление частично выполненного или прерванного резервного копирования, копирование с резервного сервера, поддержку табличных пространств и ссылок, поддержку S3/Azure/GCS/SFTP, удаление резервных копий по сроку хранения, локальную и удалённую работу через SSH или TLS, гибкую конфигурацию и многое другое.

pgBackRest можно установить из репозитория PostgreSQL Yum или репозитория PostgreSQL APT ; пакеты также доступны для многих других дистрибутивов. Исходный код можно загрузить со страницы выпусков .

Новые возможности и исправления ошибок

  • Поддержка PostgreSQL 19beta4 (David Steele)
  • Исправлена обработка пустой карты блоков при усечении файла до нулевого размера во время резервного копирования (David Steele)
  • Отключены повторные попытки чтения, если драйверу переданы фильтры (David Steele)
  • Исправлена постраничная выдача списка версий S3 (David Steele)
  • Добавлена установка заголовка версии Azure при аутентификации SAS (David Steele)
  • Исправлено зависание асинхронной команды archive-push на файле истории резервного копирования нулевого размера (Andrew Kroh)
  • Исправлена работа команды annotate с удалённым зашифрованным репозиторием (Douglas J Hunley)

Дополнительные исправления и улучшения описаны в примечаниях к выпуску 2.59.2 .

Важные примечания

  • В PostgreSQL 19beta4 изменены форматы pg_control и WAL, поэтому кластеры и WAL более ранних бета-версий 19 больше не поддерживаются. Кластеры, работающие на более ранней бета-версии, следует создать заново с использованием 19beta4.

Спонсорская поддержка

Этот выпуск стал возможен благодаря щедрой спонсорской поддержке AWS , Supabase , pgEdge , Tiger Data , Percona , Eon , Xata , Dalibo и Data Egret .


Выпущен pgBackRest 2.59.1

17 августа 2026

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

pgBackRest предоставляет широкий набор надёжных средств управления инфраструктурой резервного копирования и восстановления: параллельное резервное копирование и восстановление, полные, дифференциальные и инкрементные резервные копии, инкрементное копирование на уровне блоков, несколько репозиториев, дельта-восстановление, параллельное асинхронное архивирование, защиту от вредоносных программ и программ-вымогателей, контрольные суммы отдельных файлов, проверку контрольных сумм страниц при резервном копировании (если они включены), несколько типов сжатия, шифрование, возобновление частично выполненного или прерванного резервного копирования, копирование с резервного сервера, поддержку табличных пространств и ссылок, поддержку S3/Azure/GCS/SFTP, удаление резервных копий по сроку хранения, локальную и удалённую работу через SSH или TLS, гибкую конфигурацию и многое другое.

pgBackRest можно установить из репозитория PostgreSQL Yum или репозитория PostgreSQL APT ; пакеты также доступны для многих других дистрибутивов. Исходный код можно загрузить со страницы выпусков .

Новые возможности и исправления ошибок

  • Поддержка PostgreSQL 19beta3 (Lardière Sébastien)
  • Исправлено зависание, возникавшее, когда буфер блока меньше входного буфера (David Steele)
  • Новая метка резервной копии теперь сравнивается только с метками в наборе её собственной полной резервной копии (David Steele)
  • Исправлено отсутствие необходимых для сборки файлов в архивах исходного кода, создаваемых GitHub (David Steele)

Дополнительные исправления и улучшения описаны в примечаниях к выпуску 2.59.1 .

Важные примечания

  • В PostgreSQL 19beta3 изменён формат WAL, поэтому WAL, заархивированный в более ранних бета-версиях PostgreSQL 19, больше не читается. Кластеры, работающие на более ранней бета-версии, следует создать заново с использованием 19beta3.

Спонсорская поддержка

Этот выпуск стал возможен благодаря щедрой спонсорской поддержке AWS , Supabase , pgEdge , Tiger Data , Percona , Eon , Xata , Dalibo и Data Egret .


Новый дистрибутивный tar-архив

20 июля 2026

Начиная с pgBackRest 2.59.0 каждый выпуск включает дистрибутивный tar-архив, упрощающий сборку из исходного кода. Он содержит уже сгенерированный исходный код и готовую документацию, поэтому pgBackRest можно собрать и установить без средств генерации кода и документации, необходимых при сборке рабочей копии репозитория git.

Архив содержит исходный код pgBackRest, включая предварительно сгенерированный код, справочную страницу man с описанием команд, документацию HTML и базовый тест работоспособности для проверки сборки. Сборка выполняется с помощью meson и ninja и требует только обычных библиотек pgBackRest.

Архив прилагается к каждому выпуску как файл pgbackrest-{version}.tar.gz вместе с соответствующей контрольной суммой .sha256sum. Его можно загрузить со страницы выпусков на GitHub; инструкции по сборке и тестированию находятся в файле README.md внутри архива.

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


Выпущен pgBackRest 2.59.0

20 июля 2026

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

pgBackRest предоставляет широкий набор надёжных средств управления инфраструктурой резервного копирования и восстановления: параллельное резервное копирование и восстановление, полные, дифференциальные и инкрементные резервные копии, инкрементное копирование на уровне блоков, несколько репозиториев, дельта-восстановление, параллельное асинхронное архивирование, защиту от вредоносных программ и программ-вымогателей, контрольные суммы отдельных файлов, проверку контрольных сумм страниц при резервном копировании (если они включены), несколько типов сжатия, шифрование, возобновление частично выполненного или прерванного резервного копирования, копирование с резервного сервера, поддержку табличных пространств и ссылок, поддержку S3/Azure/GCS/SFTP, удаление резервных копий по сроку хранения, локальную и удалённую работу через SSH или TLS, гибкую конфигурацию и многое другое.

pgBackRest можно установить из репозитория PostgreSQL Yum или репозитория PostgreSQL APT ; пакеты также доступны для многих других дистрибутивов. Исходный код можно загрузить со страницы выпусков .

Основные новые возможности и улучшения

  • Поддержка PostgreSQL 19 (David Steele)
  • Добавлен параметр archive-expire-before для очистки архива WAL (Stefan Fercot)
  • Добавлена поддержка S3 Outposts (Shiva Kumar Ambigi)
  • Добавлена аутентификация S3 с получением учётных данных через внешний процесс (David Steele)
  • Добавлено кэширование пользователей и групп для ускорения построения манифеста (Gunnar Lindholm)
  • Добавлено повторное подключение к хранилищу SFTP после разрыва сервером неактивного соединения (David Steele)
  • В вывод команды info добавлен ход резервного копирования для каждого репозитория (Will Morland)
  • Добавлено пакетное удаление в хранилище Azure (David Steele)
  • В команду verify добавлены проверки backup.info (Denis Garsh)
  • Добавлена возможность настройки конечной точки S3 STS (Simon Gratton)
  • Добавлена интеграция с механизмом уведомлений systemd notify (Andrew Jackson)
  • При запуске от имени root без включённого allow-root теперь выдаётся ошибка (David Steele)
  • Асинхронная команда archive-push теперь завершается при первой ошибке (David Steele)

Дополнительные возможности и улучшения описаны в примечаниях к выпуску 2.59.0 .

Важные примечания

  • По умолчанию от имени root можно запускать только команду restore. Для запуска остальных команд от имени root используется allow-root (хотя это не рекомендуется).
  • Для упрощения подготовки пакетов к каждому выпуску прилагается новый дистрибутивный tar-архив с предварительно сгенерированными документацией, страницей man и кодом. Подробнее см. Новый дистрибутивный tar-архив .
  • Добавлена новая необязательная зависимость от libsystemd.

Спонсорская поддержка

Этот выпуск стал возможен благодаря щедрой спонсорской поддержке AWS , Supabase , pgEdge , Tiger Data , Percona , Eon , Xata , Dalibo и Data Egret .


Разработка pgBackRest продолжится!

18 мая 2026

Рад сообщить, что разработка pgBackRest продолжится! За последние несколько недель группа спонсоров объединилась для финансирования дальнейшей разработки. Благодаря их поддержке проект больше не зависит от одного спонсора, что обеспечивает pgBackRest необходимую долгосрочную стабильность.

Хочу поблагодарить каждого из наших спонсоров:

Amazon Web Services предоставляет облачные вычислительные ресурсы по запросу частным лицам, компаниям и государственным организациям. Доступны вычислительные мощности, хранилища, базы данных, машинное обучение и более 200 сервисов с оплатой только за использованные ресурсы. Компания помогает клиентам расти и инвестирует в сообщества, частью которых мы являемся.

Supabase — полноценная платформа для серверной части приложений на базе PostgreSQL, которая позволяет разработчикам быстро создавать и масштабировать приложения, не занимаясь управлением инфраструктурой. Она включает базу данных Postgres, аутентификацию пользователей, подписки в реальном времени, файловое хранилище, периферийные и бессерверные функции; всё это поддерживает активное сообщество разработчиков открытого ПО.

pgEdge — корпоративная платформа Postgres с открытым исходным кодом для ИИ, высокой доступности и других задач. Она включает встроенные средства агентного ИИ и рабочую среду администратора баз данных, мониторинг и реагирование на инциденты, гибкое развёртывание и обслуживание без простоя. Платформа масштабируется от одного узла до конфигурации с несколькими ведущими узлами в режиме active-active в облаке, на собственной инфраструктуре или в изолированных от сети средах.

Tiger Data , создатели TimescaleDB, разрабатывает базу данных временных рядов с открытым исходным кодом на основе PostgreSQL и предоставляет Tiger Cloud — управляемую платформу для временных рядов, аналитики и задач ИИ. Варианты с самостоятельным управлением и облачные решения позволяют организациям собирать, хранить и анализировать большие объёмы временных рядов как на периферийных узлах, так и в централизованных облачных развёртываниях.

Percona разрабатывает открытое программное обеспечение для баз данных, оказывает поддержку и предоставляет услуги, помогая организациям сохранять полный контроль над своей инфраструктурой данных. Компания помогает предприятиям безопасно и эффективно использовать MySQL, PostgreSQL, MongoDB, Valkey и Redis благодаря свободно доступному ПО с открытым исходным кодом, экспертной поддержке 24/7 и практическому опыту работы с базами данных.

Eon.io — интеллектуальная облачная инфраструктура для резервного копирования, восстановления и управления данными. Она помогает командам эффективнее хранить резервные копии и обращаться к ним, предоставляя доступ к данным для аналитики и процессов ИИ. Решение обеспечивает быстрое восстановление отдельных объектов и значительно снижает затраты на хранение для Postgres и задач с интенсивной обработкой данных во всех облаках, в том числе при восстановлении после случайной потери данных и регрессий, вызванных агентами ИИ.

Эти организации используют pgBackRest для надёжного аварийного восстановления своих продуктов и систем клиентов. Их инвестиции отражают важнейшую роль pgBackRest в экосистеме PostgreSQL, а совместная поддержка обеспечивает устойчивость проекта в долгосрочной перспективе.

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


Новости о сопровождении

4 мая 2026

После объявления о прекращении сопровождения pgBackRest на меня обрушился поток писем. На их разбор ушло немало времени: во многих были добрые пожелания и слова благодарности за многолетнюю работу.

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

Теперь ситуация изменилась, и, по всей видимости, мне почти наверняка удастся получить достаточно средств для продолжения проекта. На этот раз pgBackRest будет финансировать группа спонсоров, чтобы покупка одной компании больше не влияла на мою возможность работать над проектом. Ожидается, что мы также сможем привлечь ещё одного сопровождающего, чтобы распределить нагрузку и обеспечить преемственность в будущем.

Понимаю, что это стало потрясением и что неопределённости ещё много. Прошу набраться терпения: текущая версия pgBackRest работает, неустранённых критических ошибок или проблем безопасности нет, поэтому срочно создавать ответвление проекта не требуется.

Рассчитываю сделать более определённое заявление к концу недели. До тех пор прошу подождать: мы активно работаем над возобновлением разработки pgBackRest.


Сопровождение pgBackRest прекращено

27 апреля 2026

Кратко: сопровождение pgBackRest прекращено. Если вы создаёте ответвление pgBackRest, пожалуйста, выберите для своего проекта новое имя.

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

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

Как и всем, мне нужно зарабатывать на жизнь, а выбор работы, связанной с pgBackRest, очень ограничен. Теперь я могу рассматривать более широкий круг предложений, но они не оставят времени на pgBackRest: сопровождение, исправление ошибок, рецензирование PR, ответы на обращения и прочие задачи требуют немало времени. И это ещё без разработки новых возможностей — того, что я люблю больше всего. Думаю, лучше полностью остановиться, чем работать некачественно или от случая к случаю.

Полагаю, со временем у pgBackRest появится ответвление, но это будет новый проект с новыми сопровождающими, которым предстоит заслужить доверие так же, как это сделали мы.

Ещё раз огромное спасибо всем, кто участвовал в разработке pgBackRest за эти годы. Мне было приятно работать с вами!