外部表可以与本地表同名吗?

nik*_*ick 3 database postgresql foreign-data-wrapper postgres-fdw postgresql-9.4

我的问题是我正在使用 PostgreSQL 数据库并想导入一个vfm从其他数据库命名的表,比如B. 但是在我当前的数据库 ( A)中有一个同名 table 的表。我在查询中遇到错误,说关系已经存在。

我想知道是否有办法将外部模式导入具有其他名称的表中,或者(最好)我们是否可以直接查询其他数据库而无需将外部模式导入 PostgreSQL?

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

Lau*_*lbe 6

我假设您正在使用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');
Run Code Online (Sandbox Code Playgroud)