我有一个包含数百个表的数据库,我需要做的是导出指定的表并将数据的语句插入到一个sql文件中.
我所知道的唯一声明可以达到这个目的
pg_dump -D -a -t zones_seq interway > /tmp/zones_seq.sql
Run Code Online (Sandbox Code Playgroud)
我应该为每个表运行此语句,还是有办法运行类似的语句将所有选定的表导出为一个大的sql.上面的pg_dump不导出表模式只插入,我需要两者
任何帮助将不胜感激.
a_h*_*ame 136
从手册开始:" 通过编写多个-t开关可以选择多个表 "
所以你需要列出你的所有表格
pg_dump --column-inserts -a -t zones_seq -t interway -t table_3 ... > /tmp/zones_seq.sql
Run Code Online (Sandbox Code Playgroud)
请注意,如果您有多个具有相同前缀(或后缀)的表,您还可以使用通配符来使用-t参数选择它们:
" 此外,表参数根据psql的\ d命令使用的相同规则解释为模式 "
小智 18
如果这些特定表与特定正则表达式匹配,则可以在pg_dump中使用-t选项中的正则表达式.
pg_dump -D -a -t zones_seq -t interway -t "<regex>" -f /tmp/zones_seq.sql <DBNAME>
Run Code Online (Sandbox Code Playgroud)
例如,要转储以"test"开头的表,您可以使用
pg_dump -D -a -t zones_seq -t interway -t "^test*" -f /tmp/zones_seq.sql <DBNAME>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
77503 次 |
| 最近记录: |