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»