假设我有两个主机服务器s1和s2。在这两个服务器中,我都有一个名为n1的模式,现在我对s1的模式n1中的一些表进行了一些更改。我希望对服务器s2的模式n1做同样的更改。我计划使用pg_dump备份服务器s1的模式n1,并使用pg_restore在服务器s2中还原。现在我的问题是,因为在服务器s2中已经有了具有相同表集的相同模式n1。恢复过程将做什么?它会覆盖现有的表,还是应该删除服务器S2的现有模式,并使用服务器S1的转储来恢复它?

最佳答案

如果使用--cleanpg_restore选项,则在创建新表之前将删除旧表。
如果不使用--clean选项,您将得到表已经存在的错误消息,但是pg_restore将继续处理,除非您使用--exit-on-error选项。

关于postgresql - pg_restore会覆盖现有表吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43603192/

10-13 02:41