# 57.3.外部数据包装辅助函数
从核心服务器导出几个助手函数,以便外部数据包装器的作者可以轻松访问FDW相关对象的属性,例如FDW选项。要使用这些函数中的任何一个,都需要包含头文件外国的。H
在源文件中。该标头还定义了这些函数返回的结构类型。
ForeignDataWrapper *
GetForeignDataWrapperExtended(Oid fdwid, bits16 flags);
此函数返回一个外来数据包装器
对象,用于具有给定OID的外部数据包装器。A.外来数据包装器
对象包含FDW的属性(请参见外国的。H
详细信息)。旗帜
是一个按位或d位掩码,表示一组额外的选项。它可以接受价值FDW_缺失_确定
,在这种情况下无效的
结果返回给调用者,而不是未定义对象的错误。
ForeignDataWrapper *
GetForeignDataWrapper(Oid fdwid);
此函数返回一个外来数据包装器
对象,用于具有给定OID的外部数据包装器。A.外来数据包装器
对象包含FDW的属性(请参见外国的。H
详细信息)。
ForeignServer *
GetForeignServerExtended(Oid serverid, bits16 flags);
此函数返回一个外国服务器
具有给定OID的外部服务器的。A.外国服务器
对象包含服务器的属性(请参见外国的。H
详细信息)。旗帜
是一个按位或d位掩码,表示一组额外的选项。它可以接受价值FSV_缺失_正常
,在这种情况下无效的
结果返回给调用者,而不是未定义对象的错误。
ForeignServer *
GetForeignServer(Oid serverid);
此函数返回一个外国服务器
具有给定OID的外部服务器的。A.外国服务器
对象包含服务器的属性(请参见外国的。H
详细信息)。
UserMapping *
GetUserMapping(Oid userid, Oid serverid);
此函数返回一个用户映射
对象,用于给定服务器上给定角色的用户映射。(如果没有针对特定用户的映射,它将返回针对特定用户的映射。)平民的
,如果没有,则抛出错误。)A.用户映射
对象包含用户映射的属性(请参见外国的。H
详细信息)。
ForeignTable *
GetForeignTable(Oid relid);
此函数返回一个外国的
具有给定OID的外部表的。A.外国的
对象包含外部表的属性(请参见外国的。H
详细信息)。
List *
GetForeignColumnOptions(Oid relid, AttrNumber attnum);
此函数以列表形式返回具有给定外部表OID和属性号的列的每列FDW选项除霜
如果列没有选项,则返回.NIL。
除了基于OID的查找函数外,某些对象类型还具有基于名称的查找函数:
ForeignDataWrapper *
GetForeignDataWrapperByName(const char *name, bool missing_ok);
此函数返回一个外来数据包装器
具有给定名称的外部数据包装器的。如果找不到包装,如果缺少,则返回NULL_ok为true,否则将引发错误。
ForeignServer *
GetForeignServerByName(const char *name, bool missing_ok);
此函数返回一个外国服务器
具有给定名称的外部服务器的。如果找不到服务器,如果缺少,则返回NULL_ok为true,否则将引发错误。