CREATE FOREIGN DATA WRAPPER

Name

CREATE FOREIGN DATA WRAPPER -- 定义一个新的外部数据封装器

Synopsis

CREATE FOREIGN DATA WRAPPER name
    [ VALIDATOR valfunction | NO VALIDATOR ]
    [ OPTIONS ( option 'value' [, ... ] ) ]

描述

CREATE FOREIGN DATA WRAPPER创建一个新的外部数据封装器。 外部数据封装器的创建者会成为器所有者。

外部数据封装器名称必须在数据库内是唯一的。

只有超级用户可以创建外部数据封装器。

参数

name

要创建的外部数据封装器的名称。

VALIDATOR valfunction

valfunction是 先前已注册函数的名称,该函数是被调用来检查给外部数据封装器的通用选项, 同外部服务器和使用外部数据封装器的用户映射一样。若无验证器函数或者 NO VALIDATOR声明,那么选项将不会在创建时被检查。 (外部数据封装器将会在运行时忽略或者拒绝无效的选项规范,基于实现。) 验证器函数必须带两个参数:一个是text[]类型,它包含一系列 存储在系统表中的选型,而另一个是oid类型,它将是包含该种 选项的系统表的OID。返回类型江北忽略;这个函数应该表明使用 ereport()函数的无效选项。

OPTIONS ( option 'value' [, ... ] )

该子句为新外部数据封装器指定选项。允许的选型名称和数值对每个外部 数据封装器是特定的并且验证为使用外部数据封装器库。选项名称必须是 独一无二的。

Notes

当前,外部数据封装功能非常基本。外部数据封装、外部服务器和用户映射 是用来以标准方式存储这些信息的。因此,它可以通过感兴趣的应用程序来 查询。一个这样的应用程序是dblink; 参阅Section F.8。通过外部数据封装库实际查询外部数据的 功能还不存在。

目前有一个外部数据封装验证器函数,它提供了: postgresql_fdw_validator,它接受与 libpq连接参数相一致的选项。

示例

Create a foreign-data wrapper dummy:

CREATE FOREIGN DATA WRAPPER dummy;

通过验证器函数postgresql_fdw_validator, 创建一个外部数据封装postgresql

CREATE FOREIGN DATA WRAPPER postgresql VALIDATOR postgresql_fdw_validator;

同过以下选项创建一个外部数据封装包mywrapper

CREATE FOREIGN DATA WRAPPER mywrapper
    OPTIONS (debug 'true');

兼容性

CREATE FOREIGN DATA WRAPPER conforms to ISO/IEC 9075-9 (SQL/MED), with the exception that the VALIDATOR clause is an extension and the clauses LIBRARY and LANGUAGE are not yet implemented in PostgreSQL. CREATE FOREIGN DATA WRAPPER符合于ISO/IEC 9075-9 (SQL/MED),除了VALIDATOR子句是一个扩展而且 子句LIBRARYLANGUAGE目前还没有在 PostgreSQL中实现。

Note, however, that the SQL/MED functionality as a whole is not yet conforming. 注意:然而,SQL/MED功能总体上说尚不符合标准。

S又见

ALTER FOREIGN DATA WRAPPER, DROP FOREIGN DATA WRAPPER, CREATE SERVER, CREATE USER MAPPING