이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 62.2. 색인 액세스 토토 결과 기능버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

63.2. 색인 액세스 와이즈 토토 기능#

인덱스 액세스 와이즈 토토이 제공 해야하는 색인 ​​구성 및 유지 관리 기능indexamroutineare :

indexbuildresult *
Ambuild (관계 쌓기,
         관계 색인 상관,
         indexInfo *indexInfo);

새 인덱스 구축. 인덱스 관계는 물리적으로 생성되었지만 비어 있습니다. 액세스 와이즈 토토에 필요한 고정 된 데이터와 테이블에 이미 존재하는 모든 튜플의 항목으로 채워야합니다. 일반적으로Ambuild함수는 호출table_index_build_scan ()기존 튜플의 테이블을 스캔하고 인덱스에 삽입 해야하는 키를 계산합니다. 이 함수는 새 인덱스에 대한 통계를 포함하는 Palloc'D 구조물을 반환해야합니다. 그만큼amcanbuildparallel플래그는 액세스 방법이 병렬 인덱스 빌드를 지원하는지 여부를 나타냅니다. 로 설정된 경우true, 시스템은 빌드에 평행 작업자를 할당하려고 시도합니다. 비 평행 인덱스 빌드 만 지원하는 액세스 방법은이 플래그를 설정해야합니다.거짓.

무효
Ambuildempty (관계 색인 상관);

빈 색인을 구축하고 초기화 포크 (에 쓰십시오.init_forknum11920_12113

bool
Aminsert (관계 색인 상관,
          데이텀 *값,
          bool *isnull,
          ItemPointer heap_tid,
          관계 중심,
          indexUniqueCheck Checkunique,
          bool indexunged,
          indexInfo *indexInfo);

새 튜플을 기존 인덱스에 삽입하십시오. 그만큼​​값and12525_12533배열은 인덱싱 할 키 값을 제공하고heap_tid색인화되는 TID입니다. 액세스 방법이 고유 인덱스를 지원하는 경우 (ITSAmcanunique플래그는 사실입니다) 그런 다음Checkunique수행 할 독창성 점검 유형을 나타냅니다. 이것은 고유 한 제약이 연기 가능 여부에 따라 다릅니다. 보다PostgreSQL : 문서 : 18 : 63.5. 토토 결과 고유성 점검자세한 내용. 일반적으로 액세스 와이즈 토토은 만 있으면됩니다.heprelation고유성 검사를 수행 할 때 매개 변수 (그 이후로 튜플 라이벌을 확인하기 위해 힙을 조사해야합니다)..

theindexunchanged부울 값은 색인화 할 튜플의 특성에 대한 힌트를줍니다. 그것이 사실 일 때, 튜플은 인덱스의 기존 튜플의 복제입니다. 새로운 튜플은 논리적으로 변하지 않은 후속 MVCC 튜플 버전입니다. 이것은 an 일 때 발생합니다.업데이트인덱스에서 다루는 열을 수정하지는 않지만 그럼에도 불구하고 인덱스에 새 버전이 필요합니다. 인덱스 AM은이 힌트를 사용하여 동일한 논리 행의 많은 버전이 축적되는 인덱스의 일부에서 상향식 색인 삭제를 적용하기로 결정할 수 있습니다. 비 키 열 또는 부분 색인 술어에만 나타나는 열을 업데이트하는 것은 값의 값에 영향을 미치지 않습니다indexunchanged. 핵심 코드는 각 튜플의를 결정합니다.indexunchanged잘못된 양성과 오 탐지를 모두 허용하는 낮은 오버 헤드 접근법을 사용한 값. 인덱스 AMS는 치료해서는 안됩니다indexunchanged튜플 가시성 또는 버전에 대한 권위있는 정보 소스.

함수의 부울 결과 값은에만 중요합니다.Checkuniqueis고유 _check_partial. 이 경우 실제 결과는 새로운 항목이 고유 한 반면, 허위는 비 유적 일 수 있음을 의미합니다 (그리고 지연된 독창성 점검이 예정되어 있어야 함). 다른 경우 지속적인 잘못된 결과가 권장됩니다.

일부 인덱스는 모든 튜플을 색인화하지 않을 수 있습니다. 튜플을 색인화하지 않으면Aminsert아무것도하지 않고 돌아와야합니다.

인덱스가 SQL 문 내에서 연속 인덱스 삽입을 통해 데이터를 캐시하려면 공간을 할당 할 수 있습니다.indexInfo- ii_context그리고 데이터에 대한 포인터를 저장indexInfo- ii_amcache(초기에 널이 될 것입니다). 인덱스 삽입 후 메모리 이외의 리소스를 해제 해야하는 경우Aminsertcleanup제공 될 수 있으며, 메모리가 해제되기 전에 호출 될 수 있습니다.

무효
Aminsertcleanup (관계 인덱스 관계,
                 indexInfo *indexInfo);

연속 삽입물을 가로 질러 유지 된 상태indexInfo- ii_amcache. 이것은 데이터에 추가 정리 단계 (예 : 고정 버퍼를 릴리스)가 필요한 경우 유용하며 메모리를 충분히 방출하는 것이 충분하지 않습니다.

IndexBulkDeleteresult *
Ambulkdelete (indexvacuuminfo *info,
              IndexBulkDeleterEsult *통계,
              indexBulkDeleteCallback 콜백,
              void *callback_state);

인덱스에서 튜플을 삭제합니다. 이것은입니다.벌크 삭제전체 인덱스를 스캔하고 각 항목을 확인하여 삭제 해야하는지 확인하여 구현하려는 작업. 통과콜백함수는 스타일로 호출해야합니다콜백 (TID, callback_state) 반환 bool, 참조 된 TID로 식별 된 특정 인덱스 항목이 삭제 될지 여부를 결정합니다. 삭제 작업의 영향에 대한 통계를 포함하는 NULL 또는 PALLOC'D 구조물을 반환해야합니다. 정보를 전달할 필요가 없으면 NULL을 반환해도 괜찮습니다amvacuumcleanup.

제한 때문에maintenance_work_mem, Ambulkdelete많은 튜플을 삭제할 때 두 번 이상 호출해야 할 수도 있습니다. 그만큼Stats인수는이 지수에 대한 이전 호출의 결과입니다 (a 내 첫 번째 호출은 null입니다.진공작동). 이를 통해 AM은 전체 작업에 걸쳐 통계를 축적 할 수 있습니다. 일반적으로,Ambulkdelete통과 된 경우 동일한 구조물을 수정하고 반환합니다통계

IndexBulkDeleteresult *
amvacuumcleanup (indexvacuuminfo *info,
                 indexbulkdeleteresult *stats);

A 이후 청소진공작동 (0 이상Ambulkdelete호출). 이것은 인덱스 통계를 반환하는 것 외에는 아무것도 할 필요는 없지만 빈 색인 페이지를 되 찾는 것과 같은 대량 정리를 수행 할 수 있습니다.통계마지막Ambulkdelete통화 반환 또는 null ifAmbulkdelete튜플을 삭제할 필요가 없기 때문에 호출되지 않았습니다. 결과가 null이 아닌 경우 palloc'd 구조물이어야합니다. 포함 된 통계는 업데이트에 사용됩니다pg_class, 그리고에 의해보고 될 것입니다진공ifVerbose가 제공됩니다. 인덱스가 전혀 변경되지 않으면 NULL을 반환해도 괜찮습니다진공작동이지만 그렇지 않으면 올바른 통계를 반환해야합니다.

amvacuumcleanup완료시 호출분석작동. 이 경우Stats| 항상 null이며 모든 반환 값은 무시됩니다. 이 사례는 점검을 통해 구별 할 수 있습니다Info- Analyze_only. 액세스 와이즈 토토은 그러한 통화에서 삽입 후 청소를 제외하고는 아무것도하지 않는 것이 좋습니다.

bool
amcanreturn (관계 인덱스 릴레이션, int attno);

인덱스가 지원할 수 있는지 확인인덱스 전용 스캔주어진 열에서 열의 원래 색인 값을 반환하여. 속성 번호는 1 기반입니다. 즉, 첫 번째 열 Attno는 1입니다. 이 함수는 포함 된 열에 포함 된 열에는 항상 진정을 반환해야합니다 (지원되는 경우). 액세스 방법이 인덱스 전용 스캔을 전혀 지원하지 않으면Amcanreturn필드indexamroutinestruct는 null로 설정할 수 있습니다.

무효
amcostestestimate (plannerinfo *root,
                IndexPath *Path,
                더블 루프 _count,
                Cost *IndexStartUpCost,
                비용 *IndextOtalCost,
                선택성 *indexSelectivity,
                이중 *색인 상관,
                Double *indexpages);

지수 스캔 비용을 추정합니다. 이 기능은 완전히 설명됩니다PostgreSQL : 문서 : 18 : 63.6. 색인 스포츠 토토 사이트 추정 기능, 아래.

int
AmgettreeHeight (관계 rel);

트리 모양의 인덱스의 높이를 계산합니다. 이 정보는에 제공됩니다.AMCOSTESTESTIME함수 inpath- indexinfo- tree_height비용 추정을 지원하는 데 사용할 수 있습니다. 결과는 다른 곳에서는 사용되지 않으므로 비용 추정 기능이 알고 싶어하는 인덱스에 대한 모든 종류의 데이터 (정수에 맞는)를 계산하는 데 실제로 사용될 수 있습니다. 계산이 비싸면 결과를의 일부로 캐시하는 것이 유용 할 수 있습니다.RelectionData.rd_amcache.

BYTEA *
Amoptions (ArrayType *재로포,
           bool validate);

인덱스에 대한 재리포 배열을 구문 분석하고 검증하십시오. 이를 인덱스에 대해 널리화되지 않은 다시 배열이 존재할 때만 가능합니다.재학is텍스트양식의 항목을 포함하는 배열이름=value. 함수는 a를 구성해야합니다.BYTEA값은rd_options인덱스 Relcache 항목 필드. 의 데이터 내용BYTEA값은 접근 방법을 정의 할 수 있습니다. 표준 액세스 방법의 대부분은 구조물을 사용합니다stdrdoptions. 언제validate사실, 함수는 옵션이 인식되지 않거나 잘못된 값이있는 경우 적절한 오류 메시지를보고해야합니다. 언제validate거짓입니다. 유효하지 않은 항목은 조용히 무시되어야합니다. (validate이미 저장된 옵션을로드 할 때PG_CATALOG; 액세스 와이즈 토토이 옵션에 대한 규칙을 변경 한 경우에만 잘못 입력 할 수 있으며,이 경우 쓸모없는 항목을 무시하는 경우 적절합니다.) 기본값 동작이 원하는 경우 NULL을 반환해도 괜찮습니다..

bool
amproperty (OID Index_oid, int attno,
            indexAmproperty prop, const char *propname,
            bool *res, bool *isnull);

theamproperty메소드 인덱스 액세스 와이즈 토토이의 기본 동작을 무시할 수 있도록 허용합니다.pg_index_column_has_property및 관련 기능. 액세스 와이즈 토토에 인덱스 속성 문의에 대한 특별한 행동이없는 경우amproperty필드indexamroutinestruct를 null로 설정할 수 있습니다. 그렇지 않으면amproperty메소드가 호출됩니다index_oidandattnoZero forpg_indexam_has_property전화 또는index_oid유효 및attnoZero forpg_index_has_property전화 또는index_oid유효 및attno0보다 큰pg_index_column_has_property전화.prop테스트중인 속성을 식별하는 열거 값이며propname원래 속성 이름 문자열입니다. 핵심 코드가 속성 이름을 인식하지 못하면propisamprop_unknown. 액세스 방법은 확인하여 사용자 정의 속성 이름을 정의 할 수 있습니다propname경기의 경우 (사용PG_STRCASECMP일치, 핵심 코드와 일치하기 위해); 핵심 코드에 알려진 이름의 경우 검사하는 것이 좋습니다prop. 인 경우amproperty메소드 리턴true그런 다음 속성 테스트 결과를 결정했습니다. 설정해야합니다*res반환 또는 설정하기 위해 부울 값으로*ISNULLtotruenull을 반환합니다. (참조 된 변수 모두 초기화거짓통화 전.) 인 경우amproperty메소드 리턴거짓그러면 핵심 코드는 속성 테스트 결과를 결정하기위한 일반 논리를 진행합니다.

주문 운영자를 지원하는 액세스 방법amprop_distance_orderable핵심 코드가이를 수행하는 와이즈 토토을 모르고 NULL을 반환 할 수 있으므로 속성 테스트. 구현이 유리할 수도 있습니다amprop_returnable테스트, 색인을 열고 호출하는 것보다 더 저렴하게 수행 할 수있는 경우Amcanreturn, 핵심 코드의 기본 동작입니다. 기본 동작은 다른 모든 표준 속성에 대해 만족해야합니다.

char *
Ambuildphasename (int64 phasenum);

주어진 빌드 위상 번호의 텍스트 이름을 반환합니다. 위상 수는 숫자를 통해 인덱스 빌드 중에보고 된 것입니다.PGSTAT_PROGRESS_UPDATE_PARAM인터페이스. 그런 다음 위상 이름이에 노출됩니다.PG_STAT_PROGRESS_CREATE_INDEX보기

bool
amvalidate (Oid opclassoid);

액세스 방법이 합리적으로 그렇게 할 수있는 한 지정된 연산자 클래스의 카탈로그 항목을 확인하십시오. 예를 들어, 여기에는 필요한 모든 지원 기능이 제공되는 테스트가 포함될 수 있습니다. 그만큼AmValidateOPCLASS가 유효하지 않은 경우 함수가 False를 반환해야합니다. 에 문제 가보고되어야합니다.EREPORT메시지, 일반적으로정보레벨.

무효
Amadjustmembers (OID Opfamilyoid,
                 Oid opclassoid,
                 목록 *운영자,
                 목록 *함수);

액세스 와이즈 토토이 합리적으로 그렇게 할 수있는 한 제안 된 새로운 운영자 및 기능 구성원을 검증하고 기본값이 만족스럽지 않은 경우 종속성 유형을 설정하십시오. 이것은 동안 호출됩니다운영자 클래스 만들기운영자 제품군 추가; 후자의 경우opclassoidisInvalidoid. 그만큼List인수는 목록입니다.OpfamilyMemberstructs, 정의 된대로amapi.h. 이 기능에 의해 수행 된 테스트는 일반적으로에 의해 수행 된 것의 하위 집합입니다.AmValidate이후AmadjustMembers전체 회원 세트를보고 있다고 가정 할 수 없습니다. 예를 들어, 지원 함수의 서명을 확인하는 것이 합리적이지만 필요한 모든 지원 기능이 제공되는지 확인하지는 않습니다. 오류를 던지면 모든 문제를보고 할 수 있습니다. 의존성 관련 필드OpfamilyMemberStructs는 핵심 코드에 의해 초기화되어 OPCLASS에 대한 하드 종속성을 생성하여운영자 클래스 만들기운영자 제품군 추가. AmadjustMembers다른 동작이 더 적합한 경우이 필드를 조정할 수 있습니다. 예를 들어, GIN, GIST 및 SP-GIST는 운영자와 OPCLASS 간의 연결이 이러한 색인 유형에서 상대적으로 약하기 때문에 운영자 멤버는 항상 OPFAMILY에 대한 소프트 종속성을 갖도록 설정했습니다. 따라서 운영자 멤버를 자유롭게 추가하고 제거 할 수 있도록하는 것이 합리적입니다. 선택적 지원 기능은 일반적으로 소프트 종속성이 주어 지므로 필요한 경우 제거 할 수 있습니다.

물론 인덱스의 목적은 색인과 일치하는 튜플 스캔을 지원하는 것입니다여기서조건, 종종 a라고합니다.예선또는스캔 키. 인덱스 스캐닝의 의미론은 더 자세히 설명합니다PostgreSQL : 문서 : 18 : 63.3. 인덱스 사설 토토, 아래. 인덱스 액세스 방법이 지원할 수 있습니다일반색인 스캔,비트 맵인덱스 스캔 또는 둘 다. 인덱스 액세스 방법이 제공하거나 제공 할 수있는 스캔 관련 기능은 다음과 같습니다.

indexscandesc
Ambeginscan (관계 색인 상관,
             int nkeys,
             int norderbys);

인덱스 스캔 준비. 그만큼nkeysNorderbys매개 변수는 스캔에 사용될 quals 및 주문 연산자의 수를 나타냅니다. 이들은 공간 할당 목적에 유용 할 수 있습니다. 스캔 키의 실제 값은 아직 제공되지 않았습니다. 결과는 Palloc'd 구조물이어야합니다. 구현 이유에 따라 인덱스 액세스 방법필수전화 하여이 구조물을 만듭니다RelationGetIndexScan (). 대부분의 경우Ambeginscan그 전화를 걸고 자물쇠를 얻는 것 이상은 거의 없습니다. 인덱스 스캔 스타트 업의 흥미로운 부분은Amrescan.

무효
Amrescan (IndexScandesc Scan,
          스캔 키 키,
          int nkeys,
          Scankey Orderbys,
          int norderbys);

새로운 스캔 키를 사용하여 인덱스 스캔을 시작하거나 다시 시작하십시오. (이전에 통과 한 키를 사용하여 다시 시작하려면 NULL이 전달됩니다및/또는Orderbys.) 키 나 주문별 운영자가 전달 된 것보다 더 크게 허용되지 않습니다Ambeginscan. 실제로 재시작 기능은 중첩 루프 조인으로 새로운 외부 튜플을 선택할 때 사용되므로 새로운 키 비교 값이 필요하지만 스캔 키 구조는 동일하게 유지됩니다..

bool
AmgetTuple (IndexScandesc Scan,
            방향 방향);

주어진 스캔에서 다음 튜플을 가져와 주어진 방향으로 이동합니다 (인덱스의 앞으로 또는 뒤로). 튜플이 얻어지면 true를 반환하고, 일치하는 튜플이 남아 있지 않으면 거짓. 진정한 경우 튜플 티드가에 저장됩니다.스캔구조. 참고성공| 인덱스에 스캔 키와 일치하는 항목이 포함되어 있음을 의미합니다. 튜플이 여전히 힙에 여전히 존재하거나 발신자의 스냅 샷 테스트를 통과하지는 않습니다. 성공에,AmgetTupleSETSCAN- XS_RECHECKtrue 또는 false. False는 인덱스 항목이 스캔 키와 일치하는 것이 확실하다는 것을 의미합니다. True는 이것이 확실하지 않다는 것을 의미하며, 스캔 키로 표시되는 조건은 힙 튜플을 가져온 후에 다시 확인해야합니다. 이 조항은 지원합니다Lossy인덱스 연산자. 재확인은 스캔 조건으로 만 확장됩니다. 부분 색인 술어 (있는 경우)는에 의해 다시 확인되지 않습니다.amgettuple발신자.

인덱스가 지원되는 경우PostgreSQL : 문서 : 18 : 11.9. 토토 핫 전용 스캔 및 토토 핫 커버(예 :Amcanreturn열에 대해 true를 반환합니다), 성공시 AM도 확인해야합니다scan- xs_want_itup, 그리고 그것이 사실이라면 인덱스 항목에 대한 원래 색인 데이터를 반환해야합니다. 어떤 열Amcanreturn거짓을 반환하면 널로 반환 할 수 있습니다. 데이터는 AN 형태로 반환 할 수 있습니다.Indextuple포인터가 저장된scan- xs_itup, 튜플 디스크립터scan- xs_itupdesc; 또는 a의 형태로Heappuple포인터가 저장된scan- xs_hitup, 튜플 디스크립터scan- xs_hitupdesc. (후자의 형식은에 맞지 않을 수있는 데이터를 재구성 할 때 사용해야합니다.Indextuple.) 두 경우 모두 포인터에서 참조 된 데이터 관리는 액세스 방법의 책임입니다. 데이터는 적어도 다음까지 좋은 상태를 유지해야합니다amgettuple, Amrescan, 또는AMENDSCAN스캔 요청.

theamgettuple액세스 방법이 지원되는 경우에만 기능을 제공해야합니다일반인덱스 스캔. 그렇지 않으면amgettuple필드indexamroutinestruct는 null로 설정해야합니다.

int64
AmgetBitMap (IndexScandesc Scan,
             tidbitmap *tbm);

주어진 스캔에서 모든 튜플을 가져와 발신자 공급에 추가Tidbitmap(즉, 이미 비트 맵에있는 세트에 대한 튜플 ID 세트). 가져온 튜플의 수는 반환됩니다 (예 : 일부 AMS는 중복을 감지하지 못하는 것과 같습니다). 비트 맵에 튜플 ID를 삽입하는 동안AmgetBitMap특정 튜플 ID에 대한 스캔 조건의 재확인이 필요하다는 것을 나타낼 수 있습니다. 이것은와 유사합니다xs_recheck출력 매개 변수amgettuple. 참고 : 현재 구현 에서이 기능에 대한 지원은 비트 맵 자체의 손실 저장에 대한 지원과 충돌하여 발신자는 스캔 조건과 재확인 가능한 튜플에 대한 부분 색인 술어 (있는 경우)를 다시 확인합니다. 그러나 항상 사실이 아닐 수도 있습니다.AmgetBitMapandamgettuple동일한 인덱스 스캔에서 사용할 수 없습니다. 사용할 때도 다른 제한 사항이 있습니다AmgetBitMap, 설명 된대로PostgreSQL : 문서 : 18 : 63.3. 인덱스 사설 토토.

theAmgetBitMap기능이 지원되는 경우에만 제공되어야합니다비트 맵인덱스 스캔. 그렇지 않으면AmgetBitMap필드indexamroutinestruct는 null로 설정해야합니다.

무효
AmendScan (IndexScandesc Scan);

스캔 및 릴리스 리소스를 종료하십시오. 그만큼스캔구조물 자체는 해제되어서는 안되지만, 액세스 방법으로 내부적으로 채취 한 잠금 또는 핀은 물론 해제되어야하며Ambeginscan및 기타 스캔 관련 기능.

무효
Ammarkpos (indexscandesc scan);

마크 현재 스캔 위치. 액세스 방법은 스캔 당 기억 한 스캔 위치 만 지원하면됩니다.

theammarkpos액세스 방법이 순서 스캔을 지원하는 경우에만 기능을 제공해야합니다. 그렇지 않으면ammarkpos필드indexamroutinestruct가 null로 설정 될 수 있습니다.

무효
amrestpos (indexscandesc scan);

스캔을 가장 최근에 표시된 위치로 복원하십시오.

theAMRESTROPS액세스 방법이 순서 스캔을 지원하는 경우에만 기능을 제공해야합니다. 그렇지 않으면AMRESTROPS필드indexamroutinestruct가 null로 설정 될 수 있습니다.

일반 인덱스 스캔을 지원하는 것 외에도 일부 유형의 인덱스가 지원하기를 원할 수 있습니다병렬 인덱스 스캔, 인덱스 스캔을 수행하는 데 다중 백엔드가 협력 할 수 있습니다. 인덱스 액세스 방법은 각 협력 프로세스가 평범한 비 평행 인덱스 스캔에 의해 수행 될 튜플의 하위 집합을 반환 할 수 있도록 사물을 배열해야하지만, 해당 하위 집합의 결합이 평범한 비 평행 지수 스캔에 의해 반환되는 튜플 세트와 동일합니다. 또한 병렬 스캔으로 반환 된 튜플의 전역 주문이 필요하지는 않지만 각 협력 백엔드 내에서 반환 된 튜플의 하위 집합의 순서는 요청 된 주문과 일치해야합니다. 병렬 인덱스 스캔을 지원하기 위해 다음 기능이 구현 될 수 있습니다.

크기
AmestimateParallelscan (관계 색인 상관,
                        int nkeys,
                        int norderbys);

병렬 스캔을 수행하기 위해 액세스 방법이 필요한 동적 공유 메모리의 바이트 수를 추정하고 반환합니다. (이 숫자는 AM 독립 데이터에 필요한 공간의 양에 추가되어 있지 않습니다.ParallelIndexScandescData.)

thenkeysNorderbys매개 변수는 스캔에 사용될 quals 및 주문 연산자의 수를 나타냅니다. 동일한 값이 전달됩니다Amrescan. 스캔 키의 실제 값은 아직 제공되지 않았습니다.

병렬 스캔을 지원하지 않거나 필요한 추가 바이트의 수가 0 인 액세스 방법에 대해이 기능을 구현할 필요는 없습니다.

무효
aminitparallelscan (void *target);

이 기능은 병렬 스캔 시작시 동적 공유 메모리를 초기화하기 위해 호출됩니다.대상최소한 이전에 반환 된 바이트 수를 가리 킵니다AmestimateParallelscan,이 기능은 그 공간을 사용하여 원하는 데이터를 저장할 수 있습니다.

병렬 스캔을 지원하지 않는 액세스 방법이나 공유 메모리 공간이 필요한 경우 초기화가 필요하지 않은 경우 액세스 방법에 대해이 기능을 구현할 필요는 없습니다.

무효
amparallelrescan (indexscandesc scan);

이 기능은 구현 된 경우 병렬 인덱스 스캔을 다시 시작해야 할 때 호출됩니다. 에 의해 설정된 공유 상태를 재설정해야합니다.aminitparallelscan스캔이 처음부터 다시 시작되도록.

비교 유형
Amtranslatestrategy (전략 전략, OID Opfamily, OID OpcIntype);

StrategyNumber
amtranslatecmptype (비교 유형 CMPTYPE, OID OPFAMILY, OID OPCINTYPE);

이 기능은 구현 된 경우 플래너와 집행자가 고정 된 사이를 전환하도록 요청합니다비교 타입액세스 방법에서 사용하는 값 ​​및 특정 전략 번호. 이러한 기능은 내장 BTREE 또는 HASH 액세스 방법과 유사한 기능을 구현하는 액세스 방법으로 구현할 수 있으며 이러한 변환을 구현함으로써 시스템은 액세스 방법 작업의 의미에 대해 배울 수 있으며 다양한 장소에서 BTREE 또는 HASH 인덱스 대신 사용할 수 있습니다. 액세스 방법의 기능이 내장 액세스 방법과 유사하지 않은 경우 이러한 기능을 구현할 필요가 없습니다. 함수가 구현되지 않으면 특정 플래너 및 집행자 결정에 대해 액세스 방법은 무시되지만 완전히 기능합니다.