↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16
开发中的版本: 19 / 20devel

57.1. 外部数据包装器函数 #

FDW 作者需要实现一个处理器函数,并且可以选择实现一个验证器函数。这两个函数都必须使用 C 之类的编译型语言编写,并采用版本 1 接口。关于 C 语言调用约定和动态加载的细节,请参阅第 36.10 节。

处理器函数只是返回一个结构体,其中包含供规划器、执行器和各种维护命令调用的回调函数指针。编写 FDW 的大部分工作都在于实现这些回调函数。处理器函数必须在 PostgreSQL 中注册为不带参数,并返回特殊的伪类型 fdw_handler。这些回调函数都是普通的 C 函数,在 SQL 层既不可见也不可调用。回调函数见第 57.2 节。

验证器函数负责验证在 CREATE 和 ALTER 命令中为该外部数据包装器给定的选项,以及使用该包装器的外部服务器、用户映射和外部表上的选项。验证器函数必须注册为接受两个参数,一个包含要验证的选项的 text 数组,另一个表示这些选项所关联对象类型的 OID。后者对应于该对象将存储于其中的系统目录 OID 之一:

  • AttributeRelationId

  • ForeignDataWrapperRelationId

  • ForeignServerRelationId

  • ForeignTableRelationId

  • UserMappingRelationId

如果没有提供验证器函数,则在创建或修改对象时不会检查选项。

报告文档问题

阅读 上游文档. 通过 PostgreSQL 文档反馈表单.