IMPORT FOREIGN SCHEMA
从一个外部服务器导入表定义
英文手册覆盖始于 PostgreSQL 6.4. 来源历史与运行验证各自保留独立版本边界。
当前阅读 PG 18·选择有来源记录的版本
- anchor
- SQL-IMPORTFOREIGNSCHEMA
- file
- sql-importforeignschema.html
- lang
- en
- name
- IMPORT FOREIGN SCHEMA
- purpose
- import table definitions from a foreign server
- purpose zh
- 未知
- sections same as
- 未知
- slug
- 18
- synopsis text
- IMPORT FOREIGN SCHEMA remote_schema [ { LIMIT TO | EXCEPT } ( table_name [, ...] ) ] FROM SERVER server_name INTO local_schema [ OPTIONS ( option 'value' [, ... ] ) ]
语法
IMPORT FOREIGN SCHEMA remote_schema
[ { LIMIT TO | EXCEPT } ( table_name [, ...] ) ]
FROM SERVER server_name
INTO local_schema
[ OPTIONS ( option 'value' [, ... ] ) ]语法图
从左向右阅读;分支表示选择,旁路表示可选,循环表示重复。点击带下划线的参数可打开对应规则。
版本定义 PG 18
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;
与上例相同,但只导入actors和directors这两个表(如果它们存在):
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比较版本
完整来源事实
synopsis html
IMPORT FOREIGN SCHEMA <em class="replaceable"><code>remote_schema</code></em>
[ { LIMIT TO | EXCEPT } ( <em class="replaceable"><code>table_name</code></em> [, ...] ) ]
FROM SERVER <em class="replaceable"><code>server_name</code></em>
INTO <em class="replaceable"><code>local_schema</code></em>
[ OPTIONS ( <em class="replaceable"><code>option</code></em> '<em class="replaceable"><code>value</code></em>' [, ... ] ) ]来源引用
定义来源
center · PostgreSQL 18 · a709ab85
正文语言: zh-Hans · 1b5ca64c