Бэкапы PostgreSQL: pg_dump, Barman, WAL-G — что и когда выбирать
Какой инструмент выбрать для бэкапа PostgreSQL: pg_dump для разработки, pg_probackup для прода, WAL-G для облака. Реальные стратегии 3-2-1.
Бэкап, который ни разу не восстанавливали, — это не бэкап. Команда «Первый ИТ Альянс» сталкивалась с заказчиками, у которых годами копировались дампы, а при инциденте оказалось — половина файлов битая. Разберём, какой инструмент выбрать и как организовать процесс.
pg_dump: для разработки и небольших БД
Логический бэкап. Подходит для баз до 100 ГБ, миграции между версиями, копирования отдельных схем. Минус — долгое восстановление (нужно переиндексировать всё) и блокировка long-running транзакций.
- pg_dump -Fc -j 8 — параллельный custom-формат
- pg_restore -j 8 — параллельное восстановление
- Для БД 1 ТБ — 4-8 часов на дамп, 8-16 на restore
- Не подходит для PITR (Point-in-Time Recovery)
pg_basebackup: физический бэкап из коробки
Встроенный инструмент для полного физического бэкапа. Хорош для инициализации реплики, но не для регулярных бэкапов — нет инкрементальности, дедупликации, ротации.
Barman: классика для on-premise
Самый популярный инструмент в России. Поддерживает потоковую репликацию, инкрементальные бэкапы (с PostgreSQL 17), PITR, ретенцию по политикам. Ставится на отдельный сервер, бэкапит несколько кластеров.
- Поддержка hot standby как источника бэкапа
- Geo-redundancy через barman-cloud
- Удобный CLI: barman list-backup, barman recover
- Минус — нет нативной дедупликации файлов
WAL-G: бэкап в S3 для облаков
Разработка Citus/Microsoft. Лидер для бэкапов в S3-совместимые хранилища (Yandex Object Storage, VK Cloud, Selectel). Дельта-бэкапы экономят 70-90% места и трафика.
pgBackRest: для критичных систем
Самый функциональный, но и самый сложный в настройке. Поддерживает блочные инкременты, дедупликацию, шифрование, многопоточность, async-архивацию WAL. Используется в банках и телекоме.
pg_probackup: российский ответ
От Postgres Professional. Глубоко интегрирован с Postgres Pro (через ptrack умеет блочные инкременты на ванильном PostgreSQL — нет). Входит в реестр отечественного ПО, что важно для КИИ.
Стратегия 3-2-1 для PostgreSQL
- 3 копии данных (продуктив + 2 бэкапа)
- 2 разных типа носителя (SSD + объектное хранилище)
- 1 копия офсайт (другой ЦОД или облако)
- Полный бэкап еженедельно, инкремент ежедневно
- WAL-архивация непрерывная (для PITR)
- Тест восстановления — раз в месяц на отдельном сервере
Частые вопросы
Какой RPO реально достижим в PostgreSQL?+
С синхронной репликацией — RPO = 0 (но просадка по latency). С асинхронной + WAL-архивацией каждые 60 секунд — RPO ≈ 1 минута. С pg_dump раз в сутки — RPO = 24 часа.
Можно ли бэкапить из реплики, чтобы не нагружать мастер?+
Да, Barman, WAL-G и pgBackRest умеют. На реплике ставится hot_standby_feedback=on, чтобы автовакуум на мастере не удалил нужные строки.
Как проверить, что бэкап рабочий?+
Раз в месяц поднимайте отдельный инстанс, восстанавливайте полный + последний WAL, запускайте pg_amcheck и сравнивайте контрольные суммы ключевых таблиц с продом.
Нужна помощь по этой теме?
Обсудим задачу и предложим план за 24 часа. Работаем с компаниями из России и СНГ с 1999 года.
Похожие материалы
Отказоустойчивый кластер PostgreSQL: Patroni и repmgr на практике 2026
Patroni vs repmgr: какой инструмент выбрать для HA-кластера PostgreSQL, как настроить автоматический failover и не потерять данные при split-brain.
ЧитатьОптимизация PostgreSQL: 10 параметров для роста производительности 2026
10 ключевых параметров postgresql.conf, которые дают кратный рост производительности. Формулы расчёта и пример рабочего конфига.
ЧитатьPostgreSQL Pro vs PostgreSQL: что выбрать для бизнеса в РФ в 2026
Когда переплата за Postgres Pro Enterprise оправдана, а когда хватит community-версии: разбираем по фичам, ценам и регуляторным требованиям.
Читать