pg_waldump
pg_waldump — вывести журнал предзаписи кластера БД PostgreSQL в понятном человеку виде
Синтаксис
pg_waldump
[параметр
...] [начальный_сегмент
[конечный_сегмент
]]
Описание
Программа pg_waldump
показывает содержимое журнала предзаписи (WAL) и прежде всего полезна для целей отладки и обучения.
Эту утилиту может запускать только пользователь, установивший сервер, так как ей требуется доступ на чтение к каталогу данных.
Параметры
Следующие аргументы командной строки задают расположение данных и формат вывода:
начальный_сегмент
Начать чтение с указанного файла сегмента WAL. Это неявно определяет каталог, в котором будут находиться файлы, и целевую линию времени.
конечный_сегмент
Остановиться после чтения указанного файла сегмента 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=
путь
Задаёт каталог, содержащий файлы сегментов WAL, либо каталог с подкаталогом
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, с которой нужно начать чтение. По умолчанию чтение начинается с первой корректной записи WAL в самом первом из найденных файлов.
-t
линия_времени
--timeline=
линия_времени
Линия времени, из которой будут читаться записи WAL. По умолчанию используется значение, заданное параметром
начальный_сегмент
, если он присутствует, а иначе — 1. Значение можно задавать в десятичном или шестнадцатеричном представлении, например17
или0x11
.-V
--version
Вывести версию pg_waldump и завершиться.
-w
--fullpage
Выводить только записи, содержащие образы полных страниц.
-x
xid
--xid=
xid
Вывести только записи, относящиеся к указанной транзакции.
-z
--stats[=record]
Вывести общую статистику (число и размер записей и образов полных страниц) вместо отдельных записей. Возможен вариант получения статистики по записям, а не по менеджерам ресурсов.
Если программа pg_waldump прерывается сигналом SIGINT (Control+C), она выдаёт сводку по данным, которые были обработаны к моменту прерывания. Эта операция не поддерживается в Windows.
--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
-?
--help
Вывести справку об аргументах командной строки pg_waldump и завершиться.
Переменные окружения
PGDATA
Каталог данных; также см. параметр
-p
.PG_COLOR
Выбирает вариант использования цвета в диагностических сообщениях. Возможные значения:
always
(всегда),auto
(автоматически) иnever
(никогда).
Примечания
Когда сервер работает, результаты могут быть некорректными.
Выводятся записи только указанной линии времени (или линии времени по умолчанию, если она не задана явно). Записи в других линиях времени игнорируются.
pg_waldump не будет читать файлы WAL с расширением .partial
. Если требуется прочитать такие файлы, расширение .partial
нужно убрать из их имён.