이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : F.8. btree_gist-토토 핫tree 동작을 가진 GIST 운영자 클래스버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

F.5. btree_gist

btree_gistGiST 인덱스 제공 B-트리와 동등한 동작을 구현하는 연산자 클래스 데이터 유형int2, int4, int8, float4, float8, 숫자, 시간대가 포함된 타임스탬프, 시간대 없는 타임스탬프, 시간은 시간대, 시간대가 없는 시간, 날짜, 간격, oid, , 문자, varchar, 텍스트, 바이테아, 비트, varbit, macaddr, inetcidr.

일반적으로 이 연산자 클래스는 동등한 표준 B-트리 인덱스 방법이 하나도 부족합니다. 표준 B-트리 코드의 특징: 시행 능력 독창성. 그러나 이들은 제공되지 않는 몇 가지 다른 기능을 제공합니다. 아래에 설명된 대로 B-트리 인덱스와 함께 사용할 수 있습니다. 또한 이들 연산자 클래스는 여러 열로 구성된 GiST 인덱스가 있을 때 유용합니다. 필요한 경우, 일부 열은 다음과 같은 데이터 유형입니다. GiST로 인덱싱할 수 있지만 다른 열은 단순한 데이터 유형입니다. 마지막으로 이러한 연산자 클래스는 GiST 테스트 및 다른 GiST 연산자 클래스를 개발하기 위한 기반입니다.

일반적인 B-트리 검색 연산자 외에도,btree_gist또한 다음에 대한 색인 지원을 제공합니다< ("아니요 같음"). 이는 다음과 함께 사용하면 유용할 수 있습니다.제외 제약, 아래 설명과 같습니다.

또한 자연스러운 거리가 있는 데이터 유형의 경우 미터법,btree_gist거리를 정의합니다 연산자<-, GiST 제공 이 연산자를 사용하여 최근접 검색에 대한 인덱스 지원. 거리 연산자가 제공됩니다.int2, int4, int8, 플로트4, float8, 시간대가 포함된 타임스탬프, 타임스탬프 시간대 없음, 시간 없는 시간 구역, 날짜, 간격, oid.

F.5.1. 예 사용법

다음을 사용한 간단한 예btree_gist대신 의브트리:

CREATE TABLE 테스트(int4);
-- 인덱스 생성
요점 (a)를 사용하여 테스트 시 INDEX testidx 생성;
-- 쿼리
SELECT * FROM test WHERE a < 10;
-- 최근접 이웃 검색: "42"에 가장 가까운 10개의 항목을 찾습니다.
SELECT *, a <- 42 AS dist FROM test ORDER BY a <- 42 LIMIT 10;

사용제외 제약동물원의 우리에 담을 수 있는 규칙을 시행하기 위해 한 종류의 동물만 있습니다:

= 테이블 생성 동물원(
  케이지 정수,
  동물 텍스트,
  EXCLUDE USING Gist(케이지 WITH =, 동물 WITH <)
);

= 동물원 VALUES(123, 'zebra')에 삽입;
삽입 0 1
= 동물원 VALUES(123, 'zebra')에 삽입;
삽입 0 1
= 동물원 VALUES(123, '사자')에 삽입;
오류: 충돌하는 키 값이 제외 제약조건 'zoo_cage_animal_excl'을 위반합니다.
세부정보: 키(우리, 동물)=(123, 사자)가 기존 키(우리, 동물)=(123, 얼룩말)과 충돌합니다.
= 동물원 VALUES(124, '사자')에 삽입;
삽입 0 1

F.5.2. 저자

테오도르 시가예프 (), 올렉 바르투노프 () 및 얀코 리히터 (). 참조http://www.sai.msu.su/~megera/postgres/gist/용 추가 정보.