FDW 作者需要實作一個處理器函式,以及可選的驗證器函式。這兩個函式都必須使用版本 1 介面,以編譯語言(如 C)編寫。有關 C 語言呼叫慣例和動態載入的詳細資訊,請參閱第 36.10 節。
處理器函式只會傳回一個函式指標結構,這些指標指向規劃器、執行器和各種維護命令將會呼叫的回呼函式。撰寫 FDW 的大部分工作都在於實作這些回呼函式。處理器函式必須註冊到 PostgreSQL,且不接受任何引數,並傳回特殊的偽類型 fdw_handler
。回呼函式是普通的 C 函式,在 SQL 層級不可見或不可呼叫。回呼函式在第 57.2 節中描述。
驗證器函式負責驗證 CREATE
和 ALTER
命令中,針對其外部資料包裝器,以及使用該包裝器的外部伺服器、使用者對應和外部資料表所給定的選項。驗證器函式必須註冊為接受兩個引數:一個包含要驗證選項的文字陣列,以及一個代表選項相關物件類型的 OID。後者對應於儲存物件的系統目錄的 OID,即下列其中之一:
AttributeRelationId
ForeignDataWrapperRelationId
ForeignServerRelationId
ForeignTableRelationId
UserMappingRelationId
如果未提供驗證器函式,則在物件建立時或物件變更時,不會檢查選項。
如果您在文件中發現任何不正確、與特定功能的使用體驗不符或需要進一步說明的內容,請使用此表單來報告文件問題。