Просмотр заархивированных WAL-файлов
Исполнять сценарий необходимо от имени пользователя postgres.
Описание сценария
Просмотр информации о заархивированных WAL-файлах
Последовательность выполнения
-
В конфигурационном файле
copywala.yamlзадайте параметры:wal_destination_uri– путь к хранилищу для архивированных WAL-файлов;wal_segment_size– размер одного WAL-файла. По умолчанию – 16 МБ. Переопределите значение, если в целевой БД используются WAL-файлы другого размера. Значение необходимо задавать с указанием единиц измерения, например:16MB,16384KB,0.016GB.
-
Выполните команду:
copywala wals show(ознакомьтесь со справкой по команде ниже).Справка по команде
copywala wals showОписание:
Отображает информацию об архивированных WAL-файлах в виде временной шкалы с возможностью фильтрации по диапазону LSN, времени или именам WAL-файлов.
Синтаксис:
copywala wals show [flags]Обязательные параметры:
Если в целевой БД используются WAL-файлы нестандартного размера (не 16 МБ), а в конфигурационном файле
copywala.yamlне задан параметрwal_segment_size, то при выполнении командыcopywala wals showобязательно укажите флаг--auto-wal-segment-size.Этот флаг позволяет автоматически определить размер WAL-файла по последнему заархивированному WAL-файлу.
подсказкаЧтобы в дальнейшем не использовать флаг
--auto-wal-segment-size:-
Вызовите
copywala wals verify --auto-wal-segment-size. -
В результате вывода определите размер WAL-файла. Пример вывода:
2026-01-22 13:13:41 [756] INF auto detected WAL segment size: 32MiB -
Укажите данное значение в конфигурационном файле
copywala.yamlдля параметраwal_segment_size.
В дальнейшем, при вызове
copywala wals verify, указание флага--auto-wal-segment-sizeне требуется.Опциональные параметры:
[flags]– доступны следующие флаги:Флаг Описание -h|--helpПоказать справку по команде -c|--config <path to copywala config>Использовать конфигурационный файл, отличный от файла по умолчанию: /etc/pbr/copywala.yaml--auto-wal-segment-sizeАвтоматическое определение размера WAL-файла на основе последнего заархивированного файла --filter-max-lsn <max LSN value>Максимальное значение LSN для фильтрации WAL-файлов (по умолчанию – FFFFFFFF/FFFFFFFF)--filter-min-lsn <min LSN value>Минимальное значение LSN для фильтрации WAL-файлов (по умолчанию – 0/0)--filter-max-time <max time>Конечное время для фильтрации WAL-файлов (по умолчанию – текущее время) --filter-min-time <min time>Начальное время для фильтрации WAL-файлов (по умолчанию – 1970-01-01T03:00:00+03:00)--filter-max-wal <wal name>Имя WAL-файла, до которого будет выполняться фильтрация --filter-min-wal <wal name>Имя WAL-файла, начиная с которого будет выполняться фильтрация -
Результат
В результате выполнения команды выведется таблица с временными линиями и информацией о WAL-файлах в них. Пример выходных данных:
$ copywala wals show
+-----+------------+-----------------+--------------------------+--------------------------+---------------+----------------+--------+
| TLI | PARENT TLI | SWITCHPOINT LSN | START SEGMENT | END SEGMENT | SEGMENT RANGE | SEGMENTS COUNT | STATUS |
+-----+------------+-----------------+--------------------------+--------------------------+---------------+----------------+--------+
| 1 | 0 | 0/0 | 0000000100000018000000DF | 000000010000001900000026 | 72 | 72 | OK |
| 2 | 1 | 18/E2000E60 | 0000000200000018000000E2 | 000000020000001D00000004 | 1059 | 1059 | OK |
+-----+------------+-----------------+--------------------------+--------------------------+---------------+----------------+--------+
Исключительные сценарии
Будет выведено соответствующее сообщение для случаев:
-
В хранилище для данной БД нет WAL-файлов:
No WAL files found in storage -
Отсутствие прав на просмотр хранилища:
ERR wals verify failed err="request wal files from local storage: open /backups/db0_019a02c3-6783-7e22-805d-925a2df93937/wals: permission denied" -
Неверно настроенная конфигурация:
ERR init config err="config file parsing error: uri: \"test:///backups\" | provided schema is not supported"