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