我目前正在使用工具pg_dump从我的数据库转储表。我想自动执行此过程,但是,我还没有找到一种方法来指定pg_dump来转储具有相同前缀的多个数据库。
非常感谢任何有关此事的帮助
答案 0 :(得分:6)
转储名称开头的所有表 在底特律架构中使用emp,除了 对于名为employee_log的表:
$ pg_dump -t'detroit.emp *'-T detroit.employee_log mydb> db.sql
转储名称开头的所有模式 东边或西边,以gsm结尾, 排除任何名称的模式 包含单词test:
$ pg_dump -n'east * gsm'-n'west * gsm' -N' test 'mydb> db.sql
同样,使用正则表达式 合并交换机的符号:
$ pg_dump -n'(东|西)* gsm'-N ' test 'mydb> db.sql
转储除了以外的所有数据库对象 对于名称以ts _:
开头的表$ pg_dump -T'ts_ *'mydb> db.sql
答案 1 :(得分:0)
如果我理解你所说的话,我不确定。我建议您可以编辑shell脚本来转储每个数据库。
答案 2 :(得分:0)
如果要转储多个表,可以多次使用参数“-t”。
$ pg_dump -t table1 -t table2 mydb> dump.sql
-t表 --table =表
可以通过书写选择Dump only tables (or views or sequences) matching table. Multiple
表 多个开关。