首页 > 解决方案 > 如何将外部表与本地表同步?

问题描述

我正在使用 Oracle 外部数据包装器,并希望在本地拥有一些外部表的本地副本。除了物化视图并手动刷新它们之外,还有其他选择吗?

标签: postgresqloracle-fdw

解决方案


不是真的,除非您想在 Oracle 中添加功能:

  • 如果您在 Oracle 表上添加一个触发器来记录另一个表中的所有数据修改,您可以在该表上定义一个外部表。然后,您可以定期在 PostgreSQL 中运行一个函数,该函数获取自上次检查以来的更改并将它们应用于 PostgreSQL 表。

  • 如果您了解“物化视图日志”在 Oracle 中的工作原理(我不了解,而且我认为文档没有说明),您可以在其上定义一个外部表并像上面一样使用它。那可能更便宜。

这两个想法仍然需要你定期在 PostgreSQL 中运行一些东西,但你可能会更便宜。也许(如果你有钱的话)你可以使用 Oracle 异构服务在 Oracle 表发生变化时修改 PostgreSQL 表。


推荐阅读