Redrock Postgres 搜索 英文
版本: 9.3 / 9.4 / 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17

57.1. 外部数据封装函数 #

FDW 作者需要实现一个处理程序函数和一个验证函数(可选)。这两个函数都必须使用版本 1 接口用 C 等编译语言编写。有关 C 语言调用约定的详细信息,请参见 第 36.10 节

处理程序函数只是将返回一个函数指针数组的结构体,里面是计划程序、执行程序和各种维护命令会在何时调用的回调函数中。编写 FDW 大部分的工作都在于实现这些回调函数。处理程序函数必须使用 PostgreSQL 注册,不接收任何参数,同时返回特殊伪类型 fdw_handler。回调函数是纯粹的 C 语言函数,在 SQL 层面无法看到或调用它们。回调函数在 57.2 节 中进行了描述。

验证程序函数负责验证 CREATEALTER 命令中给定的其外国数据包装器以及外来服务器、用户映射和使用包装器的外来表格的选项。验证程序函数必须注册为接受两个参数,一个包含要验证的选项的文本数组,以及一个表示选项所关联对象的类型的 OID。后者对应于对象将被存储到系统目录中的 OID,它之一是

如果没有提供验证程序函数,那么在对象创建时间或对象修改时间将不会检查选项。