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