Как преобразовать обычный файл SQL в сжатый файл pgdump?

У меня обычный SQL-файл довольно большого размера (>70 ГБ), и мне нужно отправить его на сервер через медленное соединение. Есть ли способ преобразовать его в двоичный файл pgdump без локального восстановления всей БД?

По сути, этот вопрос полностью изменился: как мне преобразовать двоичный файл pgdump (сжатый) в обычный файл SQL?

2 ответа

Решение

Как отметил в комментариях Виниций Гоббо А. де Оливейра, это невозможно без импорта и реэкспорта дампа.

Вы должны сжать его для передачи, но вам не нужно использовать сжатие postgres. Вы могли бы использовать rsync для этого, например:

rsync -avz dump.sql user@server:/path/dump.sql

Перенесем дамп со сжатием. Чтобы уменьшить размер, вы можете использовать:

rsync -avz --compress-level=9 dump.sql user@server:/path/dump.sql

Вы также можете сжать дамп с помощью программы сжатия (например, gzip, bzip), передайте его и прочитайте без распаковки.

gunzip dump.sql.gz | pg_restore -Upostgres 
Другие вопросы по тегам