Цель: иметь воспроизводимый бэкап БД и проверенную процедуру восстановления — потеря тома postgres не должна означать потерю данных.
Зависимость: —
Что сделать
- Добавить в
docker-compose.yml сервис-бэкапер (например, лёгкий cron-контейнер), который по расписанию запускает pg_dump в смонтированный том:
pg_dump -Fc -h postgres -U "$POSTGRES_USER" "$POSTGRES_DB" \
> /backups/wh-$(date +%F-%H%M).dump
- Формат
-Fc (custom), ретеншн N последних копий — старые удалять.
- Написать рунбук восстановления в
docs/ (pg_restore --clean --if-exists -d ...), с шагами на чистый том.
- Стретч: реально проверить restore в пустую БД/том и убедиться в согласованности дампа (snapshot в одной транзакции, без полупустых FK). НЕ описывать PITR/WAL-archiving — достаточно логических дампов.
Acceptance criteria
Цель: иметь воспроизводимый бэкап БД и проверенную процедуру восстановления — потеря тома postgres не должна означать потерю данных.
Зависимость: —
Что сделать
docker-compose.ymlсервис-бэкапер (например, лёгкий cron-контейнер), который по расписанию запускаетpg_dumpв смонтированный том:-Fc(custom), ретеншн N последних копий — старые удалять.docs/(pg_restore --clean --if-exists -d ...), с шагами на чистый том.Acceptance criteria
.dumpв томе бэкапов.flyway validateи содержит ожидаемые строки.