dump_convertor¶
- dump_convertor(
- source,
- destination,
- dump_type,
- compression_method=CompressionMethod.NONE,
- )
- Параметры:
source (str) – Путь к исходному файлу дампа
destination (str) – Путь к целевому файлу
dump_type (DumpType | str) – Тип целевого формата дампа
compression_method (CompressionMethod | str) – Метод сжатия для выходного файла
- Исключение:
TypeError – Если PGCopy не поддерживает конвертацию в другие форматы
ValueError – Если исходный и целевой пути совпадают
Конвертация дампов данных между различными форматами.
Описание:
Универсальная функция для преобразования файлов дампов между поддерживаемыми форматами: Native (ClickHouse), PGCopy (PostgreSQL), PGPack. Автоматически определяет исходный формат и выполняет соответствующую конвертацию.
Поддерживаемые преобразования:
+-----------------+----------------+
| Исходный формат | Целевой формат |
+=================+================+
| Native | PGPack |
+-----------------+----------------+
| Native | PGCopy |
+-----------------+----------------+
| PGPack | Native |
+-----------------+----------------+
| PGPack | PGCopy |
+-----------------+----------------+
| PGCopy | PGCopy |
+-----------------+----------------+
Ограничения:
PGCopy → Native: не поддерживается
PGCopy → PGPack: не поддерживается
Native → Native: простое сжатие/распаковка
PGPack → PGPack: простое сжатие/распаковка
Алгоритм работы:
Автоматическое определение формата исходного файла (
detective)Проверка совместимости форматов
Чтение данных из исходного файла
Преобразование метаданных и данных
Запись в целевой формат с указанным сжатием
Примеры использования:
# Конвертация Native в PGPack со сжатием ZSTD
dump_convertor(
source="data.native",
destination="data.pgpack",
dump_type="pgpack",
compression_method="zstd"
)
# Распаковка PGPack в Native
dump_convertor(
source="archive.pgpack",
destination="data.native",
dump_type="native"
)
Особенности:
Автоматическое определение исходного формата
Сохранение метаданных при конвертации
Поддержка различных методов сжатия
Оптимизированная потоковая обработка больших файлов
Использование:
Для миграции данных между системами, архивации и изменения формата хранения дампов.