2024年9月26日: PostgreSQL 17 发布!
支持的版本:当前 (17) / 16 / 15 / 14 / 13 / 12
开发版本:devel
不支持的版本:11 / 10 / 9.6 / 9.5

导入外部模式

导入外部模式 - 从外部服务器导入表定义

概要

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

描述

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

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

若要使用 导入外部模式,用户必须拥有对外部服务器的 USAGE 权限,以及对目标模式的 CREATE 权限。

参数

远程模式

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

限制为(表名 [, ...])

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

排除(表名 [, ...])

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

服务器名称

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

本地模式

将创建导入的外部表的模式。

选项(选项 '' [, ...])

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

示例

从服务器 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;

兼容性

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

提交更正

如果您在文档中看到任何不正确的内容,与您对特定功能的体验不符,或者需要进一步说明,请使用 此表格 报告文档问题。