Настроить политику хранения pgBackRest и выполнить expire
PostgreSQLБэкап и PITRКоманда
# /etc/pgbackrest/pgbackrest.conf [global] - count based:
repo1-retention-full-type=count
repo1-retention-full=2
repo1-retention-diff=6
# Time-based alternative (at least a 14-day PITR window):
# repo1-retention-full-type=time
# repo1-retention-full=14
# Expire runs automatically after each backup; to trigger it manually:
sudo -u postgres pgbackrest --stanza=<stanza> --log-level-console=info expireЧто делает
Определяет, сколько полных/дифференциальных бэкапов (count) или за сколько дней полных бэкапов (time) хранить; expire удаляет бэкапы вне политики, зависящие от них бэкапы diff/incr и более не нужный архив WAL.
Когда использовать
Чтобы контролировать размер репозитория и гарантировать требуемое окно RPO/PITR (например, возможность вернуться на 14 дней назад).
Внимание
Окно PITR ограничено самым старым сохранённым полным бэкапом; при еженедельных full и retention-full=2 можно вернуться назад максимум примерно на 2 недели. repo1-retention-archive по умолчанию следует хранению full; если задать меньшее значение, старые бэкапы будут пригодны только до точки согласованности. Expire нельзя отменить.
Связанные материалы
- Настроить архивирование WAL для pgBackRest (archive-push/archive-get)
- Создать stanza pgBackRest и проверить архивирование (stanza-create/check)
- Снять полный, дифференциальный и инкрементальный бэкапы через pgBackRest
- Показать каталог бэкапов pgBackRest и диапазон архива WAL (info)
- Восстановить последний бэкап через pgBackRest
- Восстановить на момент времени через pgBackRest (PITR, --type=time)