Oracle 外部数据包装器

Oracle foreign data wrapper

我有主从架构。在奴隶上我有一个带有两个模式的 Oracle 数据库,例如TEST1TEST2.

我将所有对象(例如 EMPLOYEES)存储在架构 TEST1 中,并且用户 TEST1(或管理员)已将 TEST1.EMPLOYEES 的只读权限授予 TEST2,所以当我在 Oracle 数据库的查询中使用 TEST1.EMPLOYEES 时,我可以访问它的数据。

我如何在 postgres 9.5 中使用 Oracle 外部数据包装器实现相同的功能,因为我有 TEST2 而不是 TEST1 的凭据? 当我尝试访问外部 table 时,它给出了一个错误,指出 TEST2.EMPLOYEES 不存在。

如果您使用用户 TEST2 的凭据定义用户映射,并使用 schema 选项定义外部 table,即

,则可以轻松做到这一点
CREATE FOREIGN TABLE ... OPTIONS (schema 'TEST1', table 'EMPLOYEES');