9.3 9.4 9.5 9.6 10 11 12
阿里云PostgreSQL 问题报告 纠错本页面

IMPORT FOREIGN SCHEMA

名称

IMPORT FOREIGN SCHEMA -- 从外部服务器导入表定义

大纲

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 ( table_name [, ...] )

从导入中排除指定的外部表。除了这里列出的以外,外部模式中存在的所有表都将被导入。

server_name

要从中导入的外部服务器。

local_schema

即将创建导入的外表所在的模式。

OPTIONS ( option 'value' [, ...] )

导入期间要使用的选项。允许的选项名称和值特定于每个外部数据包装器。

示例

从服务器film_server上的远程模式foreign_films 导入表定义,在本地模式films中创建外表:

IMPORT FOREIGN SCHEMA foreign_films
    FROM SERVER film_server INTO films;

如上所述,但只导入两个表actorsdirectors(如果存在):

IMPORT FOREIGN SCHEMA foreign_films LIMIT TO (actors, directors)
    FROM SERVER film_server INTO films;

兼容性

IMPORT FOREIGN SCHEMA命令符合SQL标准, 但OPTIONS子句是PostgreSQL扩展。

又见

CREATE FOREIGN TABLE, CREATE SERVER
<
/BODY >