CREATE FOREIGN DATA WRAPPER
功能描述
创建一个新的外部数据封装器。
注意事项
- 创建外部数据封装器的用户将成为其所有者。
- 外部数据封装器的名称必须在数据库中唯一。
- 只有初始用户和系统管理员用户可以创建外部数据封装器。
语法格式
CREATE FOREIGN DATA WRAPPER name [ HANDLER handler_function | NO HANDLER ] [ VALIDATOR validator_function | NO VALIDATOR ] [ OPTIONS ( option 'value' [, ... ] ) ];
参数说明
- name
创建的外部数据封装器的名称。
- HANDLER handler_function
handler_function指已经注册了的函数的名称,用于为外部表检索执行的处理器函数。处理器函数handler_function必须没有参数,并且其返回类型必须为fdw_handler。
可以不使用处理器函数进行创建外部数据封装器,但是使用这种数据封装器的外部表只能被声明,无法被访问。
- NO HANDLER
在创建数据封装器时,不设置(使用)处理器函数,指定NO HANDLER创建的数据封装器的外部表只能被声明,无法被访问。
- VALIDATOR validator_function
validator_function指已经注册了的函数的名字,用来检查提供给外部数据封装器的通用验证选项,还有使用该外部数据封装器的外部服务器、用户映射和外部表的验证选项。如果没有验证器选项(函数)或声明了NO VALIDATOR,那么在创建时将不检查选项(外部数据封装器可能在运行时忽略或拒绝无效的选项说明)。
验证器选项(函数)validator_function必须接受两个参数:
- 一个类型为text[],包含存储在系统目录中的选项的数组。
- 一个类型为oid,包含这些选项的系统目录的OID。
- NO VALIDATOR
在创建时暂不设置验证器选项(函数)。
- OPTIONS ( option 'value' [, ... ] )
外部数据封装器声明选项。允许指定OPTIONS ( option 'value' [, ... ] )是特定于每一个外部数据封装器的,并且是经过外部数据封装器的验证器函数验证了的。选项名OPTIONS必须符合唯一约束。
示例
--创建一个无用的外部数据封装器dummy。 gaussdb=# CREATE FOREIGN DATA WRAPPER dummy; --创建一个带有处理器函数file_fdw_handler 的外部数据封装器file。 gaussdb=# CREATE FOREIGN DATA WRAPPER file HANDLER file_fdw_handler; --创建一个带有一些选项的外部数据封装器mywrapper。 gaussdb=# CREATE FOREIGN DATA WRAPPER mywrapper OPTIONS (debug 'true');