如何将纯 SQL 文件转换为压缩的 pgdump 文件?
How do I convert a plain SQL file to a compressed pgdump file?
我有一个普通的 SQL 文件,该文件很大 (>70GB),需要通过慢速连接将其发送到服务器。有什么方法可以将其转换为二进制 pgdump 文件而无需在本地恢复整个数据库?
基本上就是这个问题反了过来:How do I convert a binary pgdump (compressed) to a plain SQL file?
你应该压缩它来传输,但你不需要使用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
正如 Vinícius Gobbo A. de Oliveira 在评论中指出的那样,如果不导入和重新导出转储,这是不可能的。
我有一个普通的 SQL 文件,该文件很大 (>70GB),需要通过慢速连接将其发送到服务器。有什么方法可以将其转换为二进制 pgdump 文件而无需在本地恢复整个数据库?
基本上就是这个问题反了过来:How do I convert a binary pgdump (compressed) to a plain SQL file?
你应该压缩它来传输,但你不需要使用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
正如 Vinícius Gobbo A. de Oliveira 在评论中指出的那样,如果不导入和重新导出转储,这是不可能的。