为特定的表和条目Postgres创build数据库转储

我有一个数百个表的数据库,我需要做的是导出指定的表和插入语句的数据到一个SQL文件。

我知道的唯一的陈述可以实现这一点

pg_dump -D -a -t zones_seq interway > /tmp/zones_seq.sql 

我应该为每个表运行这个语句还是有办法运行一个类似的语句将所有选定的表导出到一个大的sql大。 上面的pg_dump不会导出表格模式只能插入,我都需要

任何帮助将不胜感激。

在手册的右边:“ 可以通过写入多个-t开关来select多个表

所以你需要列出你所有的表格

 pg_dump -D -a -t zones_seq - t interway -t table_3 ... > /tmp/zones_seq.sql 

请注意,如果您有多个具有相同前缀(或后缀)的表,则还可以使用通配符用-t参数select它们:

另外,根据psql \ d命令使用的相同规则,表参数被解释为一个模式

如果这些特定的表匹配特定的正则expression式,您可以在pg_dump中使用-t选项中的正则expression式。

 pg_dump -D -a -t zones_seq - t interway -t "<regex>" -f /tmp/zones_seq.sql <DBNAME> 

例如,要转储以“test”开头的表,您可以使用

 pg_dump -D -a -t zones_seq - t interway -t "^test*" -f /tmp/zones_seq.sql <DBNAME>