如何正确地将Postgres数据库链接到Oracle数据库?

时间:2012-01-21 12:44:00

标签: oracle postgresql

我有一个拥有20个用户(模式)的Oracle数据库。这些模式通过同义词和外键编织在一起。现在,我想将一部分数据(一个用户)带入postgreSQL数据库。 我可以建立一个从postgreSQL到Oracle(以及从Oracle到PostgreSQL)的数据库链接来解决部分问题,但是如何解决外键问题(postgreSQL和Oracle之间的外键)。什么是最好的方式?

1 个答案:

答案 0 :(得分:1)

方法(这不是关于在Oracle和PostgreSQL之间创建特定链接,而是如何避免它):

将Oracle和PostgreSQL数据库视为单独的数据库。也就是说,两个数据库系统之间没有关键关系。

两个数据库(例如动物)需要引用的任何数据可以(*)在两个数据库中表示,以保持关键关系和数据完整性。您不需要复制所有数据,但可以确保所有行都存在。同步两个系统之间的共享数据(动物)。

示例:

PostgreSQL数据库:

Animals: [id, name, bio, blobs, etc.]

Oracle数据库:

Animals: [id, name]
Owners: [id, name]
AnimalOwners: [ownerId, animalId]

通常,您希望从一个主要数据库管理Animal数据,在这种情况下我假设PostgreSQL。每次更新PostgreSQL中的Animal行时,将更改(如果相关)复制到Oracle中的Animal表。

(*)您还可以忘记密钥,并在创建关联时显式检查其他数据库中是否存在所需的行。此外,你应该小心不要摆脱某些时候拥有的动物(类型)。