PostgreSQL 9.3.1 中文手册 | ||||
---|---|---|---|---|
上一页 | 上一级 | 章 52. 写一个外数据包 | 下一页 |
从核心服务器输出一些辅助函数,因此外数据封装作者可以很容易访问FDW-相关对象的属性,比如FDW选项。 为了使用任何这些函数,你需要包含你的源文件中的头文件foreign/foreign.h。 该头文件也定义了这些函数返回的结构体类型。
ForeignDataWrapper * GetForeignDataWrapper(Oid fdwid);
该函数为给定OID的外数据封装返回一个ForeignDataWrapper对象。 ForeignDataWrapper对象包含 FDW的属性 (参阅foreign/foreign.h获取更多详情)。
ForeignServer * GetForeignServer(Oid serverid);
该函数为给定OID的外服务器返回一个ForeignServer对象。 ForeignServer对象包含 服务器的属性 (参阅foreign/foreign.h获取更多详情)。
UserMapping * GetUserMapping(Oid userid, Oid serverid);
该函数为给定服务器上给定角色的用户映射返回UserMapping对象。 (如果没有特定用户映射,那么它将返回PUBLIC映射,或者如果什么没有,则抛出错误。) UserMapping对象包含用户映射属性(参阅foreign/foreign.h 获取详情)。
ForeignTable * GetForeignTable(Oid relid);
该函数为给定OID外表返回ForeignTable对象。 ForeignTable对象包含外表属性(参阅 foreign/foreign.h获取更多详情)。
List * GetForeignColumnOptions(Oid relid, AttrNumber attnum);
该函数返回在列表DefElem形式中具有给定外表OID和属性数每列FDW选项, 如果该列没有选项,那么返回零。
一些对象类型除了基于OID的那个有基于名字的查找函数:
ForeignDataWrapper * GetForeignDataWrapperByName(const char *name, bool missing_ok);
该函数返回具有给定名称的外数据封装的ForeignDataWrapper对象。 如果没有找到封装,如果missing_ok是真的,那么返回NULL,否则抛出错误。
ForeignServer * GetForeignServerByName(const char *name, bool missing_ok);
该函数为给定名字的外服务器返回ForeignServer对象。 如果没有找到服务器,如果missing_ok是真的,那么返回NULL,否则抛出错误。