Postgresql 中文操作指南

59.1. Foreign Data Wrapper Functions #

FDW 作者需要实现一个处理程序函数,还可以选择一个验证器函数。这两个函数都必须使用版本 1 界面以编译语言(如 C)编写。有关 C 语言调用约定和动态加载的详细信息,请参阅 Section 38.10

处理程序函数只需返回一个函数指针结构,指向由规划器、执行器和各种维护命令调用的回调函数。编写 FDW 的大部分工作在于实现这些回调函数。处理程序函数必须向 PostgreSQL 注册为不带参数且返回特殊伪类型 fdw_handler。回调函数是普通的 C 函数,在 SQL 层不可见或不可调用。回调函数在 Section 59.2 中进行描述。

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

如果没有提供验证程序函数,则在对象创建时或对象更改时不对选项进行检查。