Redrock Postgres 搜索 英文
版本: 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17

导入外部架构

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

只导入与给定表之一匹配的外部表。外部架构中存在的其他表将被忽略。

EXCEPT ( 表名 [, ...] )

从导入中排除指定的外部表。外部架构中存在的表格将被导入,此处列出的表格除外。

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