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

F.5. btree_gist

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

일반적으로 이러한 연산자 클래스는 동등한 표준 B-트리 인덱스 방법보다 성능이 뛰어나지 않으며 표준 B-트리 코드의 주요 기능 중 하나인 고유성을 강제하는 기능이 부족합니다. 그러나 아래 설명과 같이 B-트리 인덱스에서는 사용할 수 없는 몇 가지 다른 기능을 제공합니다. 또한 이러한 연산자 클래스는 다중 열 GiST 인덱스가 필요할 때 유용합니다. 여기서 일부 열은 GiST로만 인덱싱 가능한 데이터 유형이지만 다른 열은 단순한 데이터 유형입니다. 마지막으로 이러한 연산자 클래스는 GiST 테스트 및 기타 GiST 연산자 클래스 개발을 위한 기반으로 유용합니다.

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

또한 자연스러운 거리 측정법이 있는 데이터 유형의 경우btree_gist거리 연산자를 정의<-, 이 연산자를 사용하여 최근접 검색에 대한 GiST 인덱스 지원을 제공합니다. 거리 연산자가 제공됩니다.int2, int4, int8, float4, 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. 저자

테오도르 시가예프 (), 올렉 바르투노프() 및 Janko Richter(). 참조http://www.sai.msu.su/~megera/postgres/gist/추가 정보를 확인하세요.