# 导入国外模式

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

# 概要

IMPORT FOREIGN SCHEMA remote_schema
    [ { LIMIT TO | EXCEPT } ( table_name [, ...] ) ]
    FROM SERVER server_name
    INTO local_schema
    [ OPTIONS ( option 'value' [, ... ] ) ]

# 描述

导入国外模式创建表示存在于外部服务器上的表的外部表。新的外部表将由发出命令的用户拥有,并使用正确的列定义和选项创建以匹配远程表。

默认情况下,将导入外部服务器上特定模式中存在的所有表和视图。或者,可以将表列表限制为指定的子集,或者可以排除特定的表。新的外部表都是在目标模式中创建的,该模式必须已经存在。

使用导入国外模式, 用户必须有用法外国服务器上的特权,以及创造目标模式的特权。

# 参数

远程模式

要从中导入的远程架构。远程模式的具体含义取决于使用的外部数据包装器。

限制于 ( *表名* [, ...] )

仅导入与给定表名之一匹配的外部表。外部模式中存在的其他表将被忽略。

除了 ( *表名* [, ...] )

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

服务器名称

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

local_schema

将在其中创建导入的外部表的架构。

选项 ( *选项*'*价值*' [, ...] )

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

# 例子

从远程模式导入表定义外国电影在服务器上电影服务器,在本地模式中创建外部表电影

IMPORT FOREIGN SCHEMA foreign_films
    FROM SERVER film_server INTO films;

同上,但只导入两个表演员董事(如果存在):

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

# 兼容性

导入国外模式命令符合 SQL 标准,除了选项子句是 PostgreSQL 扩展。

# 也可以看看

创建外表,创建服务器