pg_filedump
pg_filedump — отображает отформатированное содержимое файлов кучи, индексов или управляющего файла Postgres Pro
Синтаксис
pg_filedump [параметр...] [файл]
Описание
pg_filedump — утилита для представления управляющего файла и файлов кучи/индекса Postgres Pro в удобочитаемом виде. Вы можете форматировать/выводить содержимое файлов несколькими способами, описанными в разделе Параметры, а также выводить данные непосредственно в двоичном виде. Тип файла (куча/индекс) обычно определяется автоматически по содержимому блоков внутри файла. Однако чтобы прочитать содержимое файла pg_control, необходимо использовать параметр -c. По умолчанию весь файл обрабатывается с размером блока, указанным в блоке 0, и отображаются относительные адреса блоков. Значения по умолчанию можно изменить с помощью параметров времени выполнения. Некоторые параметры могут показаться странными, но они необходимы. Например, размер блока может потребоваться задать, если заголовок блока 0 был повреждён.
Установка
pg_filedump поставляется вместе с Postgres Pro в виде отдельного пакета pg-filedump-std-12 (подробные инструкции по установке приведены в Главе 16).
Параметры
По умолчанию выводится содержимое всего файла, с относительными адресами и размером блока, полученным из блока 0.
Для файлов кучи и файлов индекса действуют следующие параметры:
- -a
- Отображать абсолютные адреса. Содержимое заголовка блока всегда адресуется относительно блока. 
- -b
- Выводить двоичные образы блоков в заданном диапазоне. При этом все остальные параметры форматирования не действуют. 
- -d
- Показать отформатированный вывод байтов блока. При этом все остальные параметры форматирования не действуют. 
- -D- список_атрибутов
- Декодировать кортежи, используя заданный список типов, разделённых запятыми. Список поддерживаемых типов: - bigint- bigserial- bool- char- charN— char(n)- date- float- float4- float8- int- json- macaddr- name- numeric- oid- real- serial- smallint- smallserial- text- time- timestamp- timetz- uuid- varchar- varcharN— varchar(n)- xid- xml- ~— игнорировать все последующие атрибуты в кортеже.
- -f
- Показать отформатированный вывод байтов блока вместе с интерпретацией. 
- -h
- Показать справку. 
- -i
- Выводить подробную информацию об интерпретируемых элементах. 
- -k
- Проверять контрольные суммы блоков. 
- -o
- Не выводить старые значения. 
- -R- начальный_блок[- конечный_блок]
- Показать только заданные диапазоны блоков в файле. Блоки нумеруются, начиная с 0. Параметры - начальный_блоки- конечный_блокопределяют первый и последний блок диапазона, соответственно. Если- конечный_блокопускается, а задаётся только- начальный_блок, будет обработан только один этот блок.
- -s- размер_сегмента
- Задать размер сегмента равным значению - размер_сегмента.
- -t
- Обрабатывать файлы TOAST. 
- -v
- Вывести дополнительную информацию об отношениях TOAST. 
- -n- номер_сегмента
- Задать номер сегмента равным значению - номер_сегмента.
- -S- размер_блока
- Задать размер блока равным значению - размер_блока.
- -x
- Форматировать элементы блока как элементы индекса. 
- -y
- Форматировать элементы блока как элементы кучи. 
Для управляющих файлов действуют следующие параметры:
- -c
- Интерпретировать указанный файл как управляющий файл. 
- -f
- Показать отформатированный вывод байтов содержимого вместе с интерпретацией. 
- -S- размер_блока
- Задать размер блока равным значению - размер_блока.
Дополнительные параметры:
- -m
- Интерпретировать файл как файл - pg_filenode.mapи вывести его содержимое. Все остальные параметры будут проигнорированы.
В большинстве случаев рекомендуется использовать параметры -i и -f, чтобы получить наиболее информативный вывод.
Автор
Патрик Макдональд <[email protected]>