pg_waldump
pg_waldump — вывести журнал предзаписи кластера БД Postgres Pro в понятном человеку виде
Синтаксис
pg_waldump
[параметр
...] [начальный_сегмент
[конечный_сегмент
]]
Описание
Программа pg_waldump
показывает содержимое журнала предзаписи (WAL) и прежде всего полезна для целей отладки и обучения.
Эту утилиту может запускать только пользователь, установивший сервер, так как ей требуется доступ на чтение к каталогу данных.
Параметры
Следующие аргументы командной строки задают расположение данных и формат вывода:
начальный_сегмент
Начать чтение с указанного файла сегмента журнала. Это неявно определяет каталог, в котором будут находиться файлы, и целевую линию времени.
конечный_сегмент
Остановиться после чтения указанного файла сегмента журнала.
-b
--bkp-details
Выводить подробные сведения о блоках-копиях страниц.
-B
блок
--block=
блок
Выводить только записи, изменяющие указанный блок. При этом также необходимо указать отношение в аргументе
--relation
или-R
.-e
конец
--end=
конец
Прекратить чтение в заданной позиции в WAL, а не читать поток до конца.
-f
--follow
Достигнув конца корректного WAL, проверять раз в секунду поступление новых записей WAL.
-F
слой
--fork=
слой
Выводить только записи, изменяющие блоки в указанном слое. Допустимые значения:
main
(основной слой),fsm
(карта свободного пространства),vm
(карта видимости) иinit
(слой инициализации).-n
предел
--limit=
предел
Вывести заданное число записей и остановиться.
-p
путь
--path=
путь
Задаёт каталог, содержащий файлы сегментов журнала, либо каталог с подкаталогом
pg_wal
, содержащим такие файлы. По умолчанию в поисках этих файлов просматривается текущий каталог, подкаталогpg_wal
текущего каталога и подкаталогpg_wal
каталогаPGDATA
.-q
--quiet
Не выводить ничего кроме ошибок. Этот ключ может быть полезен, когда вы хотите узнать, можно ли полностью разобрать диапазон записей WAL, но собственно содержимое записей вас не интересует.
-r
менеджер_ресурсов
--rmgr=
менеджер_ресурсов
Выводить только записи, созданные указанным менеджером ресурсов. Вы можете указать параметр несколько раз, чтобы выбрать несколько менеджеров ресурсов. Когда в качестве имени менеджера передаётся
list
, программа выводит только список возможных имён менеджеров ресурсов и завершается.Расширения могут определять пользовательские менеджеры ресурсов, но pg_waldump не загружает модули расширений и поэтому не может распознать пользовательские менеджеры ресурсов по имени. Вместо этого можно обозначить пользовательского менеджера ресурсов в форме
custom###
, где «###
» — трёхзначный идентификатор менеджера ресурсов. Обозначения в этой форме всегда будут считаться действительными.-R
табл_пространство
/бд
/отношение
--relation=
табл_пространство
/бд
/отношение
Выводить только записи, изменяющие блоки в указанном отношении. Отношение указывается с OID табличного пространства, OID базы данных и номером файла, разделёнными косой чертой, например
1234/12345/12345
. В этом же формате отношения обозначаются в выводе программы.-s
начало
--start=
начало
Позиция в WAL, с которой нужно начать чтение. По умолчанию чтение начинается с первой корректной записи журнала в самом первом из найденных файлов.
-t
линия_времени
--timeline=
линия_времени
Линия времени, из которой будут читаться записи журнала. По умолчанию используется значение, заданное параметром
начальный_сегмент
, если он присутствует, а иначе — 1.-V
--version
Вывести версию pg_waldump и завершиться.
-w
--fullpage
Выводить только записи, содержащие образы полных страниц.
--save-fullpage=
путь_хранения
Сохранять образы полных страниц, записываемые в WAL, в каталог, указанный в
пути_хранения
. Фильтровать сохраняемые образы и ограничивать их вывод можно так же, как и для записей.Образы полных страниц сохраняются с именами в таком формате:
. Имена файлов состоят из следующих компонентов: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
.-x
xid
--xid=
xid
Вывести только записи, относящиеся к указанной транзакции.
-z
--stats[=record]
Вывести общую статистику (число и размер записей и образов полных страниц) вместо отдельных записей. Возможен вариант получения статистики по записям, а не по менеджерам ресурсов.
Если программа pg_waldump прерывается сигналом SIGINT (Control+C), она выдаёт сводку по данным, которые были обработаны к моменту прерывания. Эта операция не поддерживается в Windows.
-?
--help
Вывести справку об аргументах командной строки pg_waldump и завершиться.
Переменные окружения
PGDATA
Каталог данных; также см. параметр
-p
.PG_COLOR
Выбирает вариант использования цвета в диагностических сообщениях. Возможные значения:
always
(всегда),auto
(автоматически) иnever
(никогда).
Примечания
Когда сервер работает, результаты могут быть некорректными.
Выводятся записи только указанной линии времени (или линии времени по умолчанию, если она не задана явно). Записи в других линиях времени игнорируются.
pg_waldump не будет читать файлы WAL с расширением .partial
. Если требуется прочитать такие файлы, расширение .partial
нужно убрать из их имён.