如何解决如何提取bzip压缩的PostgreSQL转储的一部分
我有一个PostgreSQL纯格式转储,只需要两个或三个表的数据。转储为gz2格式。
bzcat dump.sql.gz | perl -lne 'print if /^COPY tablename/../^\\\.$/' > something.sql
不起作用。也尝试过
bzip2 -dc dump.sql.gz|perl -lne 'print if /^COPY tablename/../^\\\.$/' > something.sql
转储文件超过30GB。
解决方法
表名可能需要通过模式限定。
whatever_cat | perl -lne 'print if /^COPY public\.tablename/../^\\\.$/'
这取决于所使用的pg_dump的版本。该更改实际上是在一个错误修复版本中进行的,这是安全问题的结果(CVE-2018-1058)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。