Удаление резервных копий, не соответствующих политике хранения
Шаги сценария
-
Пользователь инициирует удаление резервных копий командой
copywala retention clean-outdated-backups. -
Продукт удаляет резервные копии, не соответствующие установленной политике хранения, в CLI выведено сообщение вида:
successfully cleaned outdated backups
Альтернативный сценарий: политика не задана
Если политика хранения не была задана изначально, ничего не удаляется (политика отсутствует). В CLI выводится сообщение вида:
nothing to clean for given uri <backup_destination_uri>/<instance_name>
Где:
backup_destination_uri– параметр, определяющий хранилище резервных копий. Задается вcopywala.yaml;instance_name– полное уникальное наименование экземпляра агента. Создается в результате инициализации утилиты copywala.
Альтернативный сценарий: удаление устаревших WAL-файлов
Сценарий удаления устаревших WAL-файлов применим только при включенной архивации WAL-файлов.
Устаревшими считаются WAL-файлы, которые предшествуют первому WAL-файлу (start_lsn_wal_file_name) самой старой из оставшихся после очистки резервных копий. Эти WAL-файлы больше не нужны ни для восстановления старых резервных копий (они уже удалены политикой хранения), ни для оставшихся резервных копий (они начинаются с более поздней точки). Удаление устаревших WAL-файлов позволяет освободить место в хранилище.
-
Пользователь инициирует удаление резервных копий и устаревших WAL-файлов с использованием флага
--delete-wals:copywala retention clean-outdated-backups --delete-wals -
Продукт удаляет резервные копии, не соответствующие установленной политике хранения.
-
Продукт определяет резервную копию с минимальным
start_lsnи удаляет WAL-файлы, предшествующие ее первому WAL-файлуstart_lsn_wal_file_name. -
Продукт удаляет найденные WAL-файлы. В CLI выводятся сообщения вида:
remove wal files before <start_lsn_wal_file_name> wal<N> WAL files deleted
Альтернативный сценарий: WAL-файлы не удаляются (резервных копий нет, force-флаг не задан)
-
Пользователь инициирует удаление резервных копий с использованием флага
--delete-wals:copywala retention clean-outdated-backups --delete-wals -
Продукт удаляет резервные копии, не соответствующие установленной политике хранения.
-
После удаления резервных копий в хранилище не остается ни одной копии. В CLI выводится сообщение:
cannot find the oldest postgres backup; enable --force-delete-all-wals-if-no-backups flag to delete all WAL files
Альтернативный сценарий: удаление всех WAL-файлов (резервных копий нет, force-флаг задан)
-
Пользователь инициирует удаление командой
copywala retention clean-outdated-backups --delete-wals --force-delete-all-wals-if-no-backups. -
В хранилище не осталось резервных копий. В CLI выводится сообщение:
oldest postgres backup not found; delete all wals<N> WAL files deleted -
Все WAL-файлы будут удалены.
Альтернативный сценарий: WAL хранилище пустое
-
В WAL хранилище нет файлов. В CLI выводится сообщение:
nothing to clean in WAL storage
Исключительные сценарии
В CLI выводится сообщение об ошибке для случаев:
- Нет прав для:
- чтения директории с РК;
- удаления РК;
- чтения директории с WAL-файлами;
- удаления WAL-файлов.
- В хранилище нет устаревших WAL-файлов.
- Не удалось установить подключение к целевой базе данных.
- Если информация о резервной копии присутствует в базе данных и по политике такая копия подлежит удалению, но сама физическая копия в хранилище отсутствует, то возникнет ошибка.