转储具有特定前缀的psql表

时间:2011-01-18 04:58:07

标签: sql administration dump postgresql

我目前正在使用工具pg_dump从我的数据库转储表。我想自动执行此过程,但是,我还没有找到一种方法来指定pg_dump来转储具有相同前缀的多个数据库。

非常感谢任何有关此事的帮助

3 个答案:

答案 0 :(得分:6)

manual

中的示例
  

转储名称开头的所有表   在底特律架构中使用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
     可以通过书写选择

表   多个开关。