postgres使用pg_dump从另一个数据库复制表?

时间:2013-07-22 04:21:33

标签: postgresql transfer pg-dump

我想在postgres中将数据库A中的两个表复制到数据库B. 如何使用pg_dump而不丢失数据库B中的先前表和数据?

我在Stack Overflow中读到了一些建议使用pg_dump但在我阅读的文档页面中的答案?

  

此转储方法背后的想法是使用SQL生成文本文件   反馈到服务器时,将重新创建数据库的命令   处于与转储时相同的状态

这是否意味着它会删除数据库B中的先前数据?

如果有人可以告诉我一步一步解决方案将数据库A中的两个表移动到数据库B而不丢失数据库B中的任何先前数据,那将会很有帮助。

2 个答案:

答案 0 :(得分:3)

我找到了问题的答案:

sudo -u OWNER_USER pg_dump -t users databasename1 | sudo -u OWNER_USER psql databasename2

答案 1 :(得分:0)

  1. 如果你将数据库pg_restore到b数据库中,当然a会替换b。而是使用pg_restore -t
  2. 选择要恢复的特定表
  3. 您可以使用-O(no_owner)
  4. 将pg_restore转换为不同的架构

    所以说吧

    pg_dump -Fc -f dump.dmp -v -h host -U user_login -n schema_to_dump
    

    你可以

    pg_restore -v -h host -U user_login -n schema_to_import -a --disable-triggers dump.dmp