с помощью pg_probackup. Есть 1 полный бекап, далее Дельта. В политике удержания копия я определил:
retention-redundancy = 1
retention-window = 14
Далее я ожидаю, что у меня будет храниться 1 полный и 14 последних дней, остальные бекапы будут объединиться с полном бекапом, но этого по какой-то причине не происходит.
Команда выглядит так: pg_probackup delete --instance db01 --delete-expired --merge-expired
Команда не объединяет бекапы с полным:
INFO: Backup RZ4BS1, mode: DELTA, status: OK. Redundancy: 1/1, Time Window: 12d/14d. Active
INFO: Backup RZ2MO1, mode: DELTA, status: OK. Redundancy: 1/1, Time Window: 13d/14d. Active
INFO: Backup RZ0S01, mode: DELTA, status: OK. Redundancy: 1/1, Time Window: 14d/14d. Active
INFO: Backup RYYXC1, mode: DELTA, status: OK. Redundancy: 1/1, Time Window: 15d/14d. Active
INFO: Backup RYX2O1, mode: DELTA, status: OK. Redundancy: 1/1, Time Window: 16d/14d. Active
INFO: Backup RYV801, mode: DELTA, status: OK. Redundancy: 1/1, Time Window: 17d/14d. Active
INFO: Backup RYTDC1, mode: DELTA, status: OK. Redundancy: 1/1, Time Window: 18d/14d. Active
INFO: Backup RYRIO1, mode: DELTA, status: OK. Redundancy: 1/1, Time Window: 19d/14d. Active
INFO: Backup RYPO01, mode: DELTA, status: OK. Redundancy: 1/1, Time Window: 20d/14d. Active
INFO: Backup RYP7C1, mode: FULL, status: OK. Redundancy: 1/1, Time Window: 20d/14d. Active
INFO: Retention merging finished
INFO: There are no backups to merge by retention policy
INFO: There are no backups to delete by retention policy
INFO: There is no WAL to purge by retention policy
А Вы полный список бэкапов приведите в данном случае - из отрезка в 12-20 день не виден весь список, когда какой был сделан. Интересует общее число полных бэкапов
Полный бекап всего один. Полный список выполнения pg_probackup-15 show и pg_probackup delete сохранил здесь https://pastebin.com/0hz1a4rq
У вас полная копия будет храниться месяц, а не 14 дней. Связано с тем, что фул бэкап будет активен до тех пор, пока у последнего дельта бэкапа не выйдет срок в 2 недели. Как только у всех дельт, которые принадлежат одному фулу, истечет 14 дней, только тогда фул станет истекшим
По моей задумки я собирался один раз сделать фулл бекап и далее мержить его с дельтой, получается что условие "Как только у всех дельт, которые принадлежат одному фулу, истечет 14 дней, только тогда фул станет истекшим" в моем случае никогда не наступит?
В вашем случае да, вы можете просто использовать не merge-expired, а просто мержить руками те, что по вашему мнению уже не нужно. Но у вас тогда размер фула со временем станет огромным.
руками я сейчас мержу, а из документации мне показалось, что merge-expired должен решить мою задачу, по пока что нет, не получается, вот и думаю где и что я упустил.
у вас retention-redundancy=1
Подозреваю, что у вас только одна фул копия, поэтому он и не может смержить. Сделайте две полные и у вас мержинг должен проходить
Обсуждают сегодня