🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 52.1\. 外数据封装函数 FDW作者需要实现一个处理函数,并且任选一个验证函数。这两个函数必须写在一个编译语言里比如C, 使用版本-1接口。关于在C语言中调用约定和动态加载的详细细节,参阅[Section 35.9](#calibre_link-835)。 处理函数只返回调用函数的函数指针结构,其中通过规划器,执行器,以及各种维护命令 调用回调函数。写FDW的努力在于实现这些回调函数。 使用无参的PostgreSQL注册处理函数, 并且返回特殊伪类型`fdw_handler`。 回调函数是普通C函数,是不可见的或者在SQL级别上可随时调用的。 在[Section 52.2](#calibre_link-1500)中描述回调函数。 验证函数负责验证 由`CREATE`和`ALTER`命令为外数据封装,以及外服务器,用户映射和使用封装的外表 给定的选项,验证函数必须作为两个参数来注册,验证包含该选项的文本数组,并且该选项与表示对象类型的OID相关联( 在系统目录OID形式下该对象被存储在,要么`ForeignDataWrapperRelationId`, `ForeignServerRelationId`, `UserMappingRelationId`, 或者`ForeignTableRelationId`中)。 如果不提供验证函数,则在对象创建时间或者对象变更时间不检查该选项。