W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
FDW的作者需要實(shí)現(xiàn)一個(gè)處理器函數(shù),并且可以有選擇地實(shí)現(xiàn)一個(gè)驗(yàn)證器函數(shù)。兩個(gè)函數(shù)都必須被用一種編譯語(yǔ)言(如 C)來(lái)編寫,并使用版本-1接口。關(guān)于 C 語(yǔ)言調(diào)用規(guī)范和動(dòng)態(tài)載入的細(xì)節(jié),請(qǐng)見第 37.10 節(jié)。
處理器函數(shù)簡(jiǎn)單地返回一個(gè)函數(shù)指針結(jié)構(gòu)給回調(diào)函數(shù),回調(diào)函數(shù)將被規(guī)劃器、執(zhí)行器和多種維護(hù)命令調(diào)用。編寫一個(gè)FDW的大部分工作量都在實(shí)現(xiàn)這些回調(diào)函數(shù)上。處理器函數(shù)必須被注冊(cè)在PostgreSQL中,并且注冊(cè)為不需要參數(shù)并且返回特殊的偽類型fdw_handler
。回調(diào)函數(shù)則是普通的 C 函數(shù)并且對(duì)于 SQL 層是不可見的或者不可調(diào)用的?;卣{(diào)函數(shù)在第 56.2 節(jié)中描述。
驗(yàn)證器函數(shù)負(fù)責(zé)驗(yàn)證CREATE
和ALTER
命令中對(duì)它的外部數(shù)據(jù)包裝器給出的選項(xiàng),以及使用該包裝器的外部服務(wù)器、用戶映射和外部表。驗(yàn)證器函數(shù)必須被注冊(cè)為要求兩個(gè)參數(shù):一個(gè)包含需要被驗(yàn)證的選項(xiàng)的文本數(shù)組,以及一個(gè)表示與這些選項(xiàng)相關(guān)聯(lián)的對(duì)象類型的OID(以該對(duì)象可能被存儲(chǔ)的系統(tǒng)目錄的OID的形式,可以是ForeignDataWrapperRelationId
、
ForeignServerRelationId
、UserMappingRelationId
或ForeignTableRelationId
)。如果沒(méi)有提供驗(yàn)證器函數(shù),在對(duì)象創(chuàng)建或修改時(shí)選項(xiàng)不會(huì)被檢查。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: