Обзор
Резервное копирование в Managed PostgreSQL позволяет автоматизировать создание резервных копий кластера и его восстановление. С помощью резервных копий можно восстановить кластер в случае повреждения, потери данных или совершения ошибочных операций.
В сервисе доступно автоматическое и ручное резервное копирование. Резервные копии кластера, созданные вручную, хранятся неограниченное время и удаляются только вручную.
Автоматические резервные копии кластера создаются ежедневно, промежуток времени для запуска резервного копирования определяется пользователем. Расписание создания резервных копий и их срок хранения указываются при создании кластера или при изменении настроек резервного копирования.
Принцип создания и удаления автоматических резервных копий
Заголовок раздела «Принцип создания и удаления автоматических резервных копий»Автоматическое резервное копирование запускается по расписанию. Первая резервная копия кластера — полная. Она содержит все данные кластера на момент создания копии. Все резервные копии, созданные между полными копиями — инкрементальные. Каждая инкрементальная копия содержит только те данные, которые были изменены или добавлены в кластер после создания любой предыдущей резервной копии. Каждая инкрементальная копия связана с последней полной копией, созданной раньше. Цепочка из полной копии и связанных с ней инкрементальных копий используется для восстановления кластера.
Каждая копия хранится не менее заданного времени: от 7 до 60 дней. По истечении срока хранения полной копии создается новая полная копия. Когда заканчивается срок хранения у последней инкрементальной копии в цепочке, вся цепочка из полной и инкрементальных копий удаляется. Все копии доступны для восстановления до момента удаления. Удаление выполняется после создания новой полной автоматической копии.
Например, срок хранения резервных копий для нового кластера — 7 дней. Жизненный цикл цепочек резервных копий выглядит так:
| День | Событие |
|---|---|
| 1 | Создается полная резервная копия |
| 2–7 | Каждый день создается инкрементальная резервная копия, связанная с полной копией, созданной в день 1 |
| 8 | Создается полная резервная копия. Заканчивается срок хранения полной резервной копии, созданной в день 1 |
| 9–13 | Каждый день создается инкрементальная резервная копия, связанная с полной копией, созданной в день 8. Каждый день заканчивается срок хранения одной из инкрементальных резервных копий, созданных в дни 2–6 |
| 14 | Создается инкрементальная резервная копия, связанная с полной копией, созданной в день 8. Заканчивается срок хранения инкрементальной резервной копии, созданной в день 7. Удаляются полная копия, созданная в день 1, и инкрементальные копии, созданные в дни 2–7 |
| 15 | Создается полная резервная копия. Заканчивается срок хранения полной резервной копии, созданной в день 8 |
Изменение срока хранения автоматических резервных копий затронет и новые, и существующие копии. При увеличении срока хранения все существующие копии будут храниться дольше.
При уменьшении срока хранения все существующие копии будут храниться меньше и удалятся по следующим правилам:
Если новый срок хранения меньше, чем количество уже созданных копий в цепочке, то цепочка удалится, когда закончится срок хранения ее последней инкрементальной копии. После изменения срока хранения следующая создаваемая копия будет полной.
Если новый срок хранения больше, чем количество уже созданных копий в цепочке, то инкрементальные копии цепочки будут создаваться до тех пор, пока не закончится срок хранения полной копии, с которой они связаны. Цепочка удалится штатно.
Если в момент изменения срока хранения истекли все копии цепочки, ожидающей удаления, цепочка удалится после создания любой следующей копии.
Восстановление кластера
Заголовок раздела «Восстановление кластера»В Managed PostgreSQL можно восстановить кластер как из выбранной резервной копии, так и на указанный момент времени.
Если выбрана инкрементальная копия, то для восстановления кластера будет использоваться цепочка из связанной с ней полной копии, выбранной инкрементальной копии и всех промежуточных инкрементальных копий.
Для восстановления кластера на момент времени (Point-in-Time Recovery, PITR) сервис использует ближайшую полную автоматическую резервную копию как базовое состояние и последовательно применяет к ней архив WAL-файлов. WAL (Write-Ahead Log, журнал опережающей записи) — журнал, в который записываются любые изменения в файлах данных.
При восстановлении кластера создается новый кластер. Его состояние полностью соответствует состоянию исходного кластера в момент создания резервной копии. Идентификатор нового кластера задается автоматически.