导入外部架构
导入外部架构 — 从外部服务器导入表定义
语法
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扩展。
