IMPORT FOREIGN SCHEMA — 从外部服务器导入表定义
IMPORT FOREIGN SCHEMAremote_schema
[ { LIMIT TO | EXCEPT } (table_name
[, ...] ) ] FROM SERVERserver_name
INTOlocal_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;
与上述类似,但只导入两个表 actors
和 directors
(如果存在)
IMPORT FOREIGN SCHEMA foreign_films LIMIT TO (actors, directors) FROM SERVER film_server INTO films;
IMPORT FOREIGN SCHEMA
命令符合SQL标准,除了 OPTIONS
子句是 PostgreSQL 扩展。