4

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

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

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

4

2 回答 2

7

我假设您正在使用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');
于 2018-02-26T11:58:43.887 回答
0

另一种选择是将表加载到不同的模式,例如

CREATE SCHEMA foreign_data;
IMPORT FOREIGN SCHEMA public LIMIT TO (customers) FROM SERVER serv INTO foreign_data;
于 2022-02-14T13:03:37.530 回答