我试图找出在Ubuntu Server LTS上使用tar+pipes的方法。
我有一个postgresql命令(pg_dump
),它在标准输出上输出大量的sql:
pg_dump -U myUser myDB
我知道如何将其重定向到文件:
pg_dump -U myUser myDB > myDB.sql
为了节省磁盘空间,我更愿意压缩它:我可以从myDB.sql创建tar.gz文件,然后删除myDB.sql。但是我想知道 - 是否有一种方法可以在不创建中间 .sql 文件的情况下完成这个过程?我相信这可以通过管道实现...但我不是shell大师,对它们知之甚少(我只能使用
ls | more
)。我已尝试使用pg_dump .. | tar ...
的几个变体,但没有成功。如何使用管道将
pg_dump
的输出作为tar的输入?或者我搞错了什么?
zcat myDB.sql.gz |pg_restore ...
- vezult