pg_waldump
pg_waldump — вывести журнал предзаписи кластера БД Postgres Pro в понятном человеку виде
Синтаксис
pg_waldump [параметр...] [timestamp-option...] [начальный_сегмент [конечный_сегмент]]
Описание
Программа 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.BLKNOFORKКомпонент Описание TIMELINE линия времени файла-сегмента WAL, в котором хранится запись, состоит из одного шестнадцатеричного числа шириной 8 символов %08XLSN LSN записи с этим образом, состоит из двух шестнадцатеричных чисел шириной 8 символов %08X-%08XRELTABLESPACE OID табличного пространства, содержащего блок DATOID OID базы данных, содержащей блок RELNODE номер файлового узла для блока BLKNO номер блока FORK Имя слоя, из которого получен образ полной страницы: _main,_fsm,_vmили_init.-xxid--xid=xidВывести только записи, относящиеся к указанной транзакции.
-z--stats[=record]Вывести общую статистику (число и размер записей и образов полных страниц) вместо отдельных записей. Возможен вариант получения статистики по записям, а не по менеджерам ресурсов.
Если программа pg_waldump прерывается сигналом SIGINT (Control+C), она выдаёт сводку по данным, которые были обработаны к моменту прерывания. Эта операция не поддерживается в Windows.
-?--helpВывести справку об аргументах командной строки pg_waldump и завершиться.
Следующие параметры командной строки включают вывод отметок времени для различных типов записей WAL. Вы можете использовать их вместе с параметрами начальный_сегмент, конечный_сегмент и ключами -s и -e.
-E--end-timestampВывести отметку времени последней записи WAL указанного типа, найденную в файле сегмента журнала. Для использования этого ключа вы также должны указать ключ
-S.По умолчанию pg_waldump выводит отметки времени только для записей COMMIT. Включить в рассмотрение другие типы записей вы можете, используя ключ
--timestamp-filter.-S--start-timestampВыводит отметку времени первой записи указанного типа, найденной в файле сегмента журнала. Этот ключ необходимо указать для применения ключей
-Eили--timestamp-filter.По умолчанию pg_waldump выводит отметки времени только для записей COMMIT. Включить в рассмотрение другие типы записей вы можете, используя ключ
--timestamp-filter.--timestamp-filter=аргумент[, ...]Задаёт типы записей WAL, для которых будут выводиться отметки времени. Для использования этого ключа необходимо также указать ключ
-S.Параметр
--timestamp-filterможет принимать следующие аргументы, разделённые запятыми:XLOG_RESTORE_POINT— именованные точки восстановления, создаваемые функцией pg_create_restore_point().XLOG_XACT_COMMIT— записи фиксации транзакций. Эти записи создаются командой COMMIT.XLOG_XACT_COMMIT_PREPARED— записи фиксации транзакций, ранее подготовленных для двухфазной фиксации. Эти записи создаются командой COMMIT PREPARED.XLOG_XACT_ABORT— записи прерывания транзакций. Эти записи создаются командой ROLLBACK.XLOG_XACT_ABORT_PREPARED— записи прерывания транзакций, ранее подготовленных для двухфазной фиксации. Эти записи создаются командой ROLLBACK PREPARED.
По умолчанию pg_waldump выводит отметки времени только для записей COMMIT.
Переменные окружения
PGDATAКаталог данных; также см. параметр
-p.PG_COLORВыбирает вариант использования цвета в диагностических сообщениях. Возможные значения:
always(всегда),auto(автоматически) иnever(никогда).
Примечания
Когда сервер работает, результаты могут быть некорректными.
Выводятся записи только указанной линии времени (или линии времени по умолчанию, если она не задана явно). Записи в других линиях времени игнорируются.
pg_waldump не будет читать файлы WAL с расширением .partial. Если требуется прочитать такие файлы, расширение .partial нужно убрать из их имён.