登录
导入外部架构
导入外部架构 — 从外部服务器导入表定义
语法
IMPORT FOREIGN SCHEMA remote_schema
[ { LIMIT TO | EXCEPT } ( table_name [, ...] ) ]
FROM SERVER server_name
INTO local_schema
[ OPTIONS ( option 'value' [, ... ] ) ]
描述
IMPORT FOREIGN SCHEMA
创建外部表,表示外部服务器上存在的表。新外部表将归命令发出者所有,且创建时具有正确的列定义和选项以匹配远程表。
默认情况下,将导入外部服务器上特定架构中存在的所有表和视图。还可以选择性地将表列表限制为指定的子集,或排除特定表。新外部表全部创建于目标架构中,该架构必须已存在。
要使用IMPORT FOREIGN SCHEMA
,用户必须对外部服务器具有USAGE
权限,以及对目标架构具有CREATE
权限。
参数
remote_schema
要从中导入的远程架构。远程架构的具体含义取决于所使用的外部数据封装器。
LIMIT TO (
table_name
[, ...] )仅导入与给定表名之一匹配的外键表。外键架构中存在的其他表将被忽略。
EXCEPT (
表名
[, ...] )从导入中排除指定的外键表。外键架构中存在的所有表都将被导入,但此处列出的表除外。
服务器名称
要从中导入的外键服务器。
本地架构
将在其中创建导入的外键表的架构。
OPTIONS (
选项
'值
' [, ...] )导入期间要使用的选项。允许的选项名称和值特定于每个外键数据包装器。
示例
从服务器film_server
上的远程架构foreign_films
导入表定义,在本地架构films
中创建外键表
IMPORT FOREIGN SCHEMA foreign_films
FROM SERVER film_server INTO films;
与上述相同,但仅导入两个表actors
和directors
(如果存在)
IMPORT FOREIGN SCHEMA foreign_films LIMIT TO (actors, directors)
FROM SERVER film_server INTO films;
兼容性
IMPORT FOREIGN SCHEMA
命令符合SQL标准,但OPTIONS
子句是PostgreSQL扩展。