VastbaseE100

基于开源技术的HTAP数据库管理系统。性能优异,稳定可靠,提供诸多专属领域特性。

Menu

CREATE FOREIGN DATA WRAPPER

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

语法格式

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

说明

CREATE FOREIGN DATA WRAPPER创建一个新的外部数据包装器。定义外部数据包装器的用户成为其所有者。

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

只有超级用户才能创建外部数据包装器。

参数说明

  • name

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

  • HANDLER handler_function

    handler_function是一个以前注册 好的函数的名称,它将被调用来为外部表检索执行函数。处理器函数必 须不能有参数,并且它的返回类型必须是fdw_handler。 可以创建一个没有处理器函数的外部数据包装器,但是使用这个包装 器的外部表只能被声明,但不能被访问。

  • VALIDATOR validator_function

    validator_function 是一个之前已注册的函数的名称,它将被调用来检查给予该外部数据包装器 的选项,还有用于外部服务器、用户映射以及使用 该外部数据包装器的外部表的选项。如果没有验证器函数或者指定了 NO VALIDATOR,那么在创建时不会检查选项( 外部数据包装器可能会在运行时忽略或者拒绝无效的选项说明,这取决于 实现)。验证器函数必须接受两个参数:一个类型是text[], 它将包含存储在系统目录中的选项数组,另一个是类型 oid,它将是包含该选项的系统目录的 OID。返回类型 会被忽略,该函数应该使用ereport(ERROR) 函数报告无效选项。

  • OPTIONS ( option 'value' [, … ] )

    这个子句为新的外部数据包装器指定选项。允许的选项名称和值与每一个 外部数据包装器有关,并且它们会被该外部数据包装器的验证器函数验证。 选项名称必须唯一。

注意事项

Vastbase E100的外部数据功能仍在积极开发中。查询的优化是原始的(并且主要留给包装器)。因此,未来的性能改进有相当大的空间。

示例

创建一个无用的外部数据包装器 dummy :

CREATE FOREIGN DATA WRAPPER dummy;

使用处理函数 file_fdw_handler 创建外部数据包装器 file :

CREATE FOREIGN DATA WRAPPER file HANDLER file_fdw_handler;

使用一些选项创建外部数据包装器 mywrapper :

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