G.1. pgpro_datactl — управление файлами данных Postgres Pro Enterprise
G.1.1. Обзор
Утилита pgpro_datactl предоставляет инструменты для управления файлами данных Postgres Pro Enterprise и включает в себя модуль для работы с CFS (Compressed File Storage, сжатая файловая система). Этот модуль предлагает следующую функциональность:
Получение метаданных сжатых файлов, включая алгоритм сжатия и их расположение.
Распаковка файлов CFS для дальнейшего анализа.
G.1.2. Установка
pgpro_datactl поставляется вместе с Postgres Pro Enterprise в виде отдельного пакета pgpro-datactl-ent-14
(подробные инструкции по установке приведены в Главе 17).
G.1.3. Команды
pgpro_datactl поддерживает следующие команды:
G.1.3.1. unpack
pgpro_datactl unpack --source=исходный_путь
--target=целевой_путь
[--calg=алгоритм_сжатия
] [-verbose] [--log-level=уровень_сообщений
] [--help]
Распаковывает файлы CFS.
-s=
исходный_путь
--source=
исходный_путь
Указывает путь к сжатому файлу или каталогу.
Примечание
Путь должен находиться в каталоге с именем
PG_
, содержащем файлверсия
_дата
pg_compression
.-t=
целевой_путь
--target=
целевой_путь
Указывает путь к каталогу, в который будут помещены распакованные файлы.
Если исходный и целевой каталоги совпадают, файлы распаковываются с расширением
.dec
.-c=
алгоритм_сжатия
--calg=
алгоритм_сжатия
Указывает используемый алгоритм сжатия. Если параметр не указан, команда
unpack
возьмёт это значение из файлаpg_compression
.-v
--verbose
Включает подробную запись в журнал.
--log-level=
уровень_сообщений
Устанавливает уровень сообщений. Возможные значения:
info
,warning
,error
.
Пример:
pgpro_datactl unpack -s /path/to/archive.cfs -t /path/to/destination -c zstd
В этом примере unpack
извлекает файл archive.cfs
, сжатый алгоритмом zstd
, в каталог /path/to/destination
.
G.1.3.2. probe
pgpro_datactl probe --source=исходный_путь
[--log-level=уровень_сообщений
] [--help]
Анализирует указанный файл и определяет следующее:
Тип сжатия. Алгоритм сжатия
zlib
илиzstd
.Уровень фрагментации. Анализирует соответствующий файл
*.cfm
(при его наличии) и сообщает процент неиспользуемого пространства в физическом файле.Принадлежность файла к CFS. Проверяет наличие связанного файла
*.cfm
, что указывает на принадлежность файла к архиву CFS.
-s=
исходный_путь
--source=
исходный_путь
Указывает путь к целевому файлу.
--log-level=
уровень_сообщений
Устанавливает уровень сообщений. Возможные значения:
info
,warning
,error
.
Пример вывода:
Probing path: /data/sample.dat Has cfm file: Yes pg_compression: zstd Actual compression: zstd Fragmentation: 5%
В этом примере файл сжат алгоритмом zstd
, является частью архива CFS и имеет уровень фрагментации пять процентов.
G.1.3.3. info
pgpro_datactl info --source=исходный_путь
[--log-level=уровень_сообщений
] [--help]
Анализирует файл и отображает следующую информацию:
Физический и виртуальный размер файла, а также используемое им пространство в байтах.
Включён ли сборщик мусора (
GC
).Наличие и доступность файла
*.cfm
.
-s=
исходный_путь
--source=
исходный_путь
Указывает путь к целевому файлу.
--log-level=
уровень_сообщений
Устанавливает уровень сообщений. Возможные значения:
info
,warning
,error
.
Пример вывода:
Physical size: 10485760 Virtual size: 9437184 Used size: 7864320 GC active: Yes