外国表可以与本地表具有相同的名称吗?



我的问题是我正在使用PostgreSQL数据库,并希望从其他数据库中导入名为vfm的表,例如B。但是我当前数据库(A(中有一个具有相同名称表的表。我在查询中遇到了一个错误,说关系已经存在。

我想知道是否有一种方法可以将外国模式导入具有其他名称的表格,或者(最好是(我们可以直接对其他数据库进行查询,而无需将外国模式导入PostgreSQL?

我无法为此找到一个完美的解决方案。

我假设您正在使用postgres_fdw;对于其他外国数据包装器,情况略有不同。

在不使用IMPORT FOREIGN SCHEMA的情况下定义外桌很容易。

如果架构名称为 myschema,则表名为 vfm,而外国服务器为 serv,则可以

CREATE FOREIGN TABLE myschema.vfm_2(col1, type1, ...)
   SERVER serv
   OPTIONS (schema_name 'myschema', table_name 'vfm');

另一个选项只是将表加载到其他模式,例如

CREATE SCHEMA foreign_data;
IMPORT FOREIGN SCHEMA public LIMIT TO (customers) FROM SERVER serv INTO foreign_data;

相关内容

  • 没有找到相关文章

最新更新