Перейти к основному содержимому

Просмотр заархивированных WAL-файлов

примечание

Исполнять сценарий необходимо от имени пользователя postgres.

Описание сценария

Просмотр информации о заархивированных WAL-файлах

Последовательность выполнения

  1. В конфигурационном файле copywala.yaml задайте параметры:

    • wal_destination_uri – путь к хранилищу для архивированных WAL-файлов;
    • wal_segment_size – размер одного WAL-файла. По умолчанию – 16 МБ. Переопределите значение, если в целевой БД используются WAL-файлы другого размера. Значение необходимо задавать с указанием единиц измерения, например: 16MB, 16384KB, 0.016GB.
  2. Выполните команду: 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:

    1. Вызовите copywala wals verify --auto-wal-segment-size.

    2. В результате вывода определите размер WAL-файла. Пример вывода:

      2026-01-22 13:13:41 [756] INF auto detected WAL segment size: 32MiB
    3. Укажите данное значение в конфигурационном файле 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"