如何合并两个数据库副本(postgresql)

如何合并两个数据库副本(postgresql),postgresql,rails-postgresql,Postgresql,Rails Postgresql,我有两个相同数据库的版本。一个是当前的,另一个已从备份中还原。现在我需要合并它们,以便基本上将备份中的数据移动到当前数据库中,保留不同表之间的关系 是否有任何工具可以帮助完成此任务?有一个同步功能,可以实现您想要的功能 Rubyrep是用于postgresql和mysql的基于触发器的异步复制系统。但它的一个特性是“sync”命令,它扫描表中的差异并尝试将它们合并在一起。通常,您会先使用sync,然后使用replicate使两个数据库保持同步,但没有理由不能单独使用“sync”命令 我相信它使用

我有两个相同数据库的版本。一个是当前的,另一个已从备份中还原。现在我需要合并它们,以便基本上将备份中的数据移动到当前数据库中,保留不同表之间的关系

是否有任何工具可以帮助完成此任务?

有一个同步功能,可以实现您想要的功能

Rubyrep是用于postgresql和mysql的基于触发器的异步复制系统。但它的一个特性是“sync”命令,它扫描表中的差异并尝试将它们合并在一起。通常,您会先使用sync,然后使用replicate使两个数据库保持同步,但没有理由不能单独使用“sync”命令

我相信它使用主键来比较数据,因此根据您的模式,它可能适用于您,也可能不适用于您。您可能想先备份数据

我认为它将合并具有相同主键的记录。你可以告诉它哪一方获胜。但是,如果您有两个具有相同主键的记录不应该合并,我认为您将遇到麻烦

尽管如此,如果你帮助它,它可能会起作用。您可能可以告诉它,例如,“username”是主键,而不是“id”。或者,如果数据不重叠,则提前手动调整串行主键