选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5
历史版本PostgreSQL 9.6 已于 2021 年 11 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本

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扩展。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。