我需要将一个大表导出到csv
文件并进行压缩.
我可以使用COPY命令从postgres导出它,如 –
COPY foo_table to’/tmp/foo_table.csv’delimiters’,’CSV HEADER;
然后可以使用gzip压缩它 –
gzip -c foo_table.csv> foo.gz
这种方法的问题是,在我得到我的最终压缩文件之前,我需要创建一个本身很大的中间csv文件.
有没有一种方法在csv导出表并压缩文件在一个步骤?
问候,
Sujit
诀窍是使COPY将其
输出发送到stdout,然后通过gzip管道
输出:
psql -c "COPY foo_table TO stdout DELIMITER ',' CSV HEADER" \
| gzip > foo_table.csv.gz