Все статьи
Инженерия

Стратегия резервного копирования PostgreSQL для MES и WMS

Backup — это не «сделать копию», а «гарантировать восстановление». Разбираю стратегию: pg_dump, WAL-архивирование, Point-in-Time Recovery, тест восстановления, хранение. С конкретными командами и расписанием.

Стратегия резервного копирования PostgreSQL для MES и WMS

Backup — это не копия, это гарантия восстановления

Резервное копирование базы данных — единственная вещь, которая отличает «потеряли данные за месяц» от «потеряли 30 минут». Если backup делается вручную и никогда не восстанавливался — это не backup, это иллюзия.

Три уровня резервного копирования PostgreSQL

Уровень 1: pg_dump — логический backup

pg_dump создаёт полный логический снимок схемы и данных. Это SQL-скрипт или архив, который можно восстановить на любой PostgreSQL той же мажорной версии.

pg_dump -h localhost -U postgres -Fc -f /backup/db.dump mydb

Запускается по расписанию через cron или systemd timer. Полный снимок — раз в сутки, ночью.

Уровень 2: WAL-архивирование — непрерывный лог

PostgreSQL пишет WAL (Write-Ahead Log) — журнал всех изменений. Если архивировать WAL, можно восстановить состояние БД на любую минуту. Это называется Point-in-Time Recovery (PITR).

В postgresql.conf:

archive_mode = on archive_command = 'test ! -f /backup/wal/%f && cp %p /backup/wal/%f' wal_level = replica

Каждый WAL-сегмент копируется в архив. При восстановлении: восстанавливаем последний pg_dump, затем накатываем WAL до нужного момента.

Уровень 3: Тест восстановления

Backup, который никогда не восстанавливали — это не backup. Регулярно (раз в месяц) восстанавливаем backup на тестовом сервере и проверяем:

  • БД запускается.
  • Схема целостна.
  • Данные за последний период присутствуют.
  • Приложение подключается и работает.

Типичное расписание

  • Полный pg_dump — ежедневно, 02:00.
  • WAL-архивирование — непрерывно.
  • Хранение — 30 дней полных backup + 7 дней WAL.
  • Тест восстановления — ежемесячно, первое воскресенье.

Хранение

Backup хранится НЕ на том же сервере, что и БД. Варианты:

  • Отдельный сервер в той же сети.
  • S3-совместимое хранилище (MinIO, Yandex Object Storage).
  • Ленточный накопитель (для долгого хранения).

Правило 3-2-1: 3 копии, 2 разных носителя, 1 вне площадки.

Для критичных систем: репликация

Для MES/WMS, где простой стоит дорого — streaming replication на горячий резерв. При падении основного сервера — переключение на резервный за секунды. RPO ≈ 0, RTO ≈ 30 секунд.

Что получает заказчик Контур Логики

  • Backup-скрипты в репозитории.
  • Расписание в cron/systemd.
  • Скрипт восстановления с проверкой.
  • Документацию: как восстановить за 30 минут.

Это не «дополнительная услуга» — это базовый уровень инженерной культуры. Система без backup — это система, которая ждёт аварии.

Все статьи

Последняя проверка фактов: 19 сентября 2026. Метрики и цены сверены с доказательной базой и калькулятором.

Бесплатно

Остались вопросы по теме статьи?

Задайте вопрос — подберём материалы или разберём вашу ситуацию за 30 минут

Отвечу в течение 1 рабочего дня. Данные защищены и не передаются третьим лицам.

Просмотр изображения
Выберите удобный способ
Telegram