pg_waldump
pg_waldump — вывести журнал предзаписи кластера БД Postgres Pro в понятном человеку виде
Синтаксис
pg_waldump
[параметр
...] [timestamp-option
...] [начальный_сегмент
[конечный_сегмент
]]
Описание
Программа pg_waldump
показывает содержимое журнала предзаписи (WAL) с метками времени. Прежде всего она полезна для отладки и исследовательских целей.
Эту утилиту может запускать только пользователь, установивший сервер, так как ей требуется доступ на чтение к каталогу данных.
Параметры
Следующие аргументы командной строки задают расположение данных и формат вывода:
начальный_сегмент
Начать чтение с указанного файла сегмента журнала. Это неявно определяет каталог, в котором будут находиться файлы, и целевую линию времени.
конечный_сегмент
Остановиться после чтения указанного файла сегмента журнала.
-b
--bkp-details
Выводить подробные сведения о блоках-копиях страниц.
-e
конец
--end=
конец
Прекратить чтение в заданной позиции в WAL, а не читать поток до конца.
-f
--follow
Достигнув конца корректного WAL, проверять раз в секунду поступление новых записей WAL.
-n
предел
--limit=
предел
Вывести заданное число записей и остановиться.
-p
путь
--path=
путь
Задаёт каталог, содержащий файлы сегментов журнала, либо каталог с подкаталогом
pg_wal
, содержащим такие файлы. По умолчанию в поисках этих файлов просматривается текущий каталог, подкаталогpg_wal
текущего каталога и подкаталогpg_wal
каталогаPGDATA
.-q
--quiet
Не выводить ничего кроме ошибок. Этот ключ может быть полезен, когда вы хотите узнать, можно ли полностью разобрать диапазон записей WAL, но собственно содержимое записей вас не интересует.
-r
менеджер_ресурсов
--rmgr=
менеджер_ресурсов
Выводить только записи, созданные указанным менеджером ресурсов. Когда в качестве имени менеджера передаётся
list
, программа выводит только список возможных имён менеджеров ресурсов и завершается.-s
начало
--start=
начало
Позиция в WAL, с которой нужно начать чтение. По умолчанию чтение начинается с первой корректной записи журнала в самом первом из найденных файлов.
-t
линия_времени
--timeline=
линия_времени
Линия времени, из которой будут читаться записи журнала. По умолчанию используется значение, заданное параметром
начальный_сегмент
, если он присутствует, а иначе — 1.-V
--version
Вывести версию pg_waldump и завершиться.
--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]
Вывести общую статистику (число и размер записей и образов полных страниц) вместо отдельных записей. Возможен вариант получения статистики по записям, а не по менеджерам ресурсов.
-?
--help
Вывести справку об аргументах командной строки pg_waldump и завершиться.
Следующие параметры командной строки включают вывод отметок времени для различных типов записей WAL. Вы можете использовать их вместе с параметрами начальный_сегмент
, конечный_сегмент
и ключами -s
и -e
.
-E
--end-timestamp
Вывести отметку времени последней записи WAL указанного типа, найденную в файле сегмента журнала. Для использования этого ключа вы также должны указать ключ
-S
.По умолчанию pg_waldump выводит отметки времени только для записей COMMIT. Включить в рассмотрение другие типы записей вы можете, используя ключ
-F
.-F
[аргумент1
,аргумент2
,...]--timestamp-filter=
аргумент
[, ...]Задаёт типы записей WAL, для которых будут выводиться отметки времени. Для использования этого ключа необходимо также указать ключ
-S
.Параметр
-F
может принимать следующие аргументы, разделённые запятыми: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.
-S
--start-timestamp
Выводит отметку времени первой записи указанного типа, найденной в файле сегмента журнала. Этот ключ необходимо указать для применения ключей
-E
или-F
.По умолчанию pg_waldump выводит отметки времени только для записей COMMIT. Включить в рассмотрение другие типы записей вы можете, используя ключ
-F
.
Переменные окружения
PGDATA
Каталог данных; также см. параметр
-p
.PG_COLOR
Выбирает вариант использования цвета в диагностических сообщениях. Возможные значения:
always
(всегда),auto
(автоматически) иnever
(никогда).
Примечания
Когда сервер работает, результаты могут быть некорректными.
Выводятся записи только указанной линии времени (или линии времени по умолчанию, если она не задана явно). Записи в других линиях времени игнорируются.
pg_waldump не будет читать файлы WAL с расширением .partial
. Если требуется прочитать такие файлы, расширение .partial
нужно убрать из их имён.