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»