pg_waldump#

Примечание

Эта страница переведена при помощи нейросети GigaChat.

pg_waldump — отображает содержимое WAL для кластера баз данных PostgreSQL.

Синтаксис#

pg_waldump [option...] [startseg [endseg]]

Описание#

pg_waldump отображает журнал содержимого журнала предзаписи (WAL) PostgreSQL в удобочитаемом виде. Основное ее применение — отладка и обучение. Использовать ее может только тот пользователь, который установил сервер, поскольку утилите нужен доступ к каталогу данных в режиме только для чтения.

Параметры#

Для утилиты pg_waldump существуют следующие параметры командной строки:

startseg

Задает начальный файл сегмента WAL, с которого будет начинаться чтение. Это также определяет путь для поиска файлов и целевую линию времени.

endseg

Останавливает чтение после указанного файла сегмента WAL.

-b
--bkp-details

Выводит подробную информацию о блоках резервного копирования.

-B block
--block=block

Отображает только записи, затрагивающие указанный блок. Обязательно использовать вместе с --relation или -R.

-e end
--end=end

Прерывает чтение при достижении определенной позиции в WAL, не доходя до конца потока.

-f
--follow

После чтения всех доступных данных WAL, утилита будет продолжать ожидание появления новых записей, проверяя их раз в секунду.

-F fork
--fork=fork

Отображает только те записи, изменяющие блоки в указанном слое fork:

  • main — основной слой;

  • fsm — карта свободного пространства;

  • vm — карта видимости;

  • init — слой инициализации.

-n limit
--limit=limit

Завершает работу после отображения указанного количества записей.

-p path
--path=path

Указывает путь к директории с сегментами WAL или к каталогу с подкаталогом pg_wal. Если путь не указан, утилита ищет в текущем каталоге, его подкаталоге pg_wal, либо в pg_wal каталога PGDATA.

-q
--quiet

Подавляет весь вывод, кроме сообщений об ошибках. Полезно, если нужно просто проверить корректность WAL без анализа содержимого.

-r rmgr
--rmgr=rmgr

Показывает записи, созданные только указанным менеджером ресурсов. Можно указывать несколько раз для выбора нескольких менеджеров. Если list передается в качестве имени, программа выведет перечень всех допустимых менеджеров и завершит выполнение.

Некоторые расширения PostgreSQL могут добавлять собственные менеджеры ресурсов, однако pg_waldump не загружает такие расширения и, соответственно, не может распознать их по имени. В этом случае пользовательские менеджеры можно указывать в виде custom###, где ### — это трехзначный числовой идентификатор. Такой формат имен всегда считается допустимым.

-R tblspc/db/rel
--relation=tblspc/db/rel

Выводит записи, изменяющие блоки в указанном отношении. Отношение указывается как комбинация OID табличного пространства, базы данных и номером файла, разделенных косой чертой, например: 1234/56789/67890.

-s start
--start=start

Указывает позицию WAL, с которой следует начать чтение. Если не задано, чтение начнется с первой допустимой записи журнала в самом первом найденном файле.

-t timeline
--timeline=timeline

Устанавливает линию времени, из которой будут читаться записи журнала. Если startseg указан — используется его значение, иначе — по умолчанию 1. Значение можно задавать в десятичном или шестнадцатеричном представлении, например 17 или 0x11.

-V
--version

Выводит версию pg_waldump и завершается.

-w
--fullpage

Показывает только те записи, которые содержат полные образы страниц.

-x xid
--xid=xid

Отображает записи, связанные с указанным идентификатором транзакции (XID).

-z
--stats[=record]

Вместо показа отдельных записей выводит сводную статистику: общее количество записей, их суммарный размер и число полных образов страниц. Необязательный аргумент record позволяет получать статистику по каждой записи вместо менеджеров ресурсов. Если выполнение утилиты прерывается по сигналу SIGINT (например, Ctrl+C), выводится текущая статистика. Этот режим не поддерживается в Windows.

--save-fullpage=save_path

Сохранять полные образы страниц, обнаруженные в записях WAL, в каталог save_path. Сохраняемые изображения подчиняются тем же критериям фильтрации и ограничения, что и отображаемые записи.

Полные образы страниц сохраняются со следующим форматом имени файла: TIMELINE-LSN.RELTABLESPACE.DATOID.RELNODE.BLKNO_FORK. Имя файла состоит из следующих частей:

Компонент

Описание

TIMELINE

линия времени файла-сегмента WAL, в котором хранится запись, состоит из одного шестнадцатеричного числа шириной 8 символов %08X

LSN

LSN записи с этим образом, состоит из двух шестнадцатеричных чисел шириной 8 символов %08X-%08X

RELTABLESPACE

OID табличного пространства, содержащего блок

DATOID

OID базы данных, содержащей блок

RELNODE

номер файлового узла для блока

BLKNO

номер блока

FORK

имя слоя, в котором был создан образ полной страницы: main, fsm, vm или init

-?
--help

Показывает справку о параметрах командной строки утилиты pg_waldump и завершается.

Параметры окружения#

Утилита поддерживает переменные окружения:

PGDATA

Задает каталог данных, смотрите также параметр -p.

PG_COLOR

Указывает, использовать ли цвет в диагностических сообщениях. Возможные значения — always, auto и never.

Примечания#

pg_waldump может возвращать некорректные данные, если сервер работает в момент выполнения.

Отображаются только записи из указанной линии времени (или из линии времени по умолчанию, если она не задана явно). Записи из других линий времени игнорируются.

Утилита pg_waldump не способна обрабатывать файлы WAL с расширением .partial. Чтобы просмотреть такие файлы, нужно предварительно удалить из их имени суффикс .partial.

Смотрите также#

«Внутреннее устройство WAL»