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必须符合唯一约束。