导入外国模式

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

Synopsis

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

Description

IMPORT FOREIGN SCHEMA创建表示外部服务器上现有表的外部表。新的外部表将由发出命令的用户所有,并使用正确的列定义和选项来创建,以匹配远程表。

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

要使用IMPORT FOREIGN SCHEMA,用户必须在外部服务器上具有USAGE特权,并且在目标架构上必须具有CREATE特权。

Parameters

  • remote_schema

    • 要导入的远程模式。远程模式的具体含义取决于所使用的外部数据包装器。
  • LIMIT TO ( table_name [, ...] )

    • 仅导入与给定表名称之一匹配的外部表。外部模式中存在的其他表将被忽略。
  • EXCEPT ( table_name [, ...] )

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

    • 要导入的外部服务器。
  • local_schema

    • 将在其中创建导入的外部表的模式。
  • OPTIONS ( option 'value' [, ...] )

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

Examples

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

Compatibility

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

See Also

创建外表, CREATE SERVER