假设我有两台主机服务器s1和s2。在这两个服务器中我都有一个名为n1的模式,现在我对s1的模式n1中的一些表进行了一些更改。我希望对服务器s2的模式n1进行相同的更改。我打算做的是使用pg_dump备份服务器s1的模式n1,并使用pg_restore在服务器s2中恢复。现在我的问题是,因为服务器s2中已经存在具有相同表集的相同模式n1。恢复过程会做什么?它会覆盖现有的表还是应该删除服务器s2的现有模式并使用服务器s1的转储来恢复它?
答案 0 :(得分:23)
如果您使用--clean
的{{1}}选项,旧表将在创建新表之前被删除。
如果您不使用pg_restore
选项,则会收到表已存在的错误消息,但除非您使用--clean
选项,否则pg_restore
将继续处理。