이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은의 동일한 페이지를 보려고 할 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

52.4.

FDW 콜백 함수getforeignRelsize, getforeignpaths, getforeignplanplanforeignModify의 작업에 적합해야합니다스포츠 토토 사이트플래너. 여기에 있습니다

정보의 정보루트Baserel의 양을 줄이는 데 사용할 수 있습니다Baserel-> Baserestrictinfo특히입니다여기서Clauses)를 필터링하는 데 사용해야합니다Baserel-> reltargetList익숙해 질 수 있습니다Foreignscan사용되는 열이 아닌 노드를 계획하십시오

FDW 계획에는 다양한 개인 필드를 사용할 수 있습니다

Baserel-> fdw_privateisvoidFDW 계획에 사용할 수있는 포인터Baserel노드가 생성되었습니다.getforeignRelsizetogetforeignpaths및/또는getforeignpathstogetforeignplan

getforeignpathsFDW_PRIVATE필드외국 경로노드.FDW_PRIVATE|List포인터이지만 실제로는 무엇이든 포함 할 수 있습니다Nodetostring, 디버깅 지원과 함께 사용합니다

getforeignplan를 검사 할 수 있습니다FDW_PRIVATE선택한 필드외국 경로노드 및 생성FDW_EXPRSFDW_PRIVATE에 배치 할 목록Foreignscan계획 노드가있을 예정입니다CopyObject복사 방법을 알고 있습니다. 그만큼FDW_PRIVATE목록은 다른 제한 사항이 없으며 핵심에 의해 해석되지 않습니다.FDW_EXPRS목록은 그렇지 않으면 표현 나무가 포함될 것으로 예상됩니다.

ingetforeignplan, 일반적으로Baserel-> Baserestrictinfo이지만 다시 주문할 수 있습니다thegrictinfoExtract_Actual_Clauses) 모든 조항을 넣습니다

예를 들어, FDW는 일부 제한 조항을 식별 할 수 있습니다.외국_variable = sub_expression, 결정할 수 있습니다sub_expression. 실제getforeignpaths비용에 영향을 미치기 때문입니다FDW_PRIVATE필드는 아마도 a를 포함 할 것입니다thegrictinfo노드. 그 다음에getforeignplan해당 조항을 제거합니다sub_expressiontoFDW_EXPRS마사지를 보장합니다FDW_PRIVATE필드여기서외국_variable = $1FDW_EXPRS발현 트리.

FDW는 항상 적어도 하나의 경로를 구성해야합니다.외국_variable = local_variable.Baserel-> Baserestrictinfo그러나 찾아야합니다"매개 변수 경로". 식별해야합니다param_info; 사용get_baserel_parampathinfo계산합니다getforeignplan, Thelocal_variable조인 부분FDW_EXPRS,

계획 할 때업데이트또는삭제, planforeignModifyrepiptinfo외국 테이블의 구조를 구조화하고 만듭니다Baserel-> fdw_private데이터삽입대상 테이블이 스캔되지 않았습니다repiptinfo그것을 위해. 그만큼List반환planforeignModify와 동일한 제한 사항이 있습니다FDW_PRIVATEA 목록Foreignscan계획 노드, 즉 포함해야합니다CopyObject알고 있습니다

for업데이트또는삭제지원하는 외부 데이터 소스에 대한Foreignscan작동하는 행을 잠금합니다.선택을 선택하십시오. FDW는 페치 타임에 행을 잠그기로 선택할 수도 있습니다.업데이트/공유 선택; 그렇지 않다면업데이트또는옵션