我有一个大型数据库,正在使用 pg_dump 转储,我需要缩小转储文件。压缩此 postgres 数据库转储文件的最佳方法是什么?
答案1
pg_dump
带有内置压缩功能:
-Z 0..9
--compress 0..9
指定要使用的压缩级别。零表示不压缩。对于自定义存档格式,这指定对各个表数据段进行压缩,默认为中等级别压缩。对于纯文本输出,设置非零压缩级别会导致整个输出文件被压缩,就像通过 gzip 传输一样;但默认不压缩。tar 存档格式目前根本不支持压缩。
压缩共有 9 个级别 - 级别越高,压缩率越高。0 表示无压缩。
pg_dump [connection-option...] --compress=9 [dbname]
实现最大程度的压缩。
答案2
xz
压缩数据效果优于gzip
。运行xz -6 <dumpfile>
将使用最大压缩率来压缩数据库转储。
答案3
还有并行 gziphttps://zlib.net/pigz/当您确实需要在大型压缩作业中最大化利用所有核心时。