Skip to content

导入外部架构

导入外部架构 — 从外部服务器导入表定义

语法

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;

与上述相同,但仅导入两个表actorsdirectors(如果存在)

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

兼容性

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

另请参见

CREATE FOREIGN TABLECREATE SERVER