更新时间:2026-02-06 GMT+08:00
分享

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');

相关文档