이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 운영자 토토 생성버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

만들기 젠 토토 클래스

이름

CREATE OPERATOR CLASS -- 새 항목 정의 연산자 클래스

시놉시스

연산자 클래스 생성이름[ 기본값 ] 유형의 경우데이터_유형사용 중index_methodAS
   젠 토토전략_번호 operator_name [ ( op_type, op_type) ] [ 다시 확인 ]
   | 기능지원_번호 기능 이름 ( argument_type[, ...] )
   | 저장저장_유형
  } [, ... ]

설명

연산자 클래스 생성새 항목을 생성합니다. 젠 토토 클래스. 연산자 클래스는 특정 데이터가 어떻게 처리되는지 정의합니다. type은 인덱스와 함께 사용할 수 있습니다. 연산자 클래스는 다음을 지정합니다. 특정 젠 토토가 특정 역할을 맡거나"전략"이 데이터 유형 및 이 인덱스의 경우 방법. 젠 토토 클래스는 지원 절차도 지정합니다. 연산자 클래스가 다음과 같은 경우 인덱스 메서드에서 사용됩니다. 인덱스 열로 선택되었습니다. 모든 연산자와 함수 연산자 클래스에서 사용하는 연산자는 연산자보다 먼저 정의되어야 합니다. 클래스가 생성되었습니다.

스키마 이름이 주어지면 연산자 클래스가 생성됩니다 지정된 스키마에서. 그렇지 않으면 현재에 생성됩니다. 스키마. 동일한 스키마에 있는 두 연산자 클래스는 동일할 수 있습니다. 다른 색인 방법을 위한 경우에만 이름을 지정하세요.

연산자 클래스를 정의하는 사용자가 소유자가 됩니다. 현재 생성 사용자는 수퍼유저여야 합니다. (이 잘못된 연산자 클래스로 인해 제한이 발생했습니다. 정의는 서버를 혼란스럽게 하거나 심지어 충돌시킬 수도 있습니다.)

연산자 클래스 생성하지 않습니다 현재 연산자 클래스 정의에 포함되어 있는지 확인하십시오. 인덱스 메소드에 필요한 모든 연산자와 함수, 연산자와 함수가 일관성 있는 집합을 형성하는지 여부. 유효한 연산자를 정의하는 것은 사용자의 책임입니다. 수업.

참조PostgreSQL : 문서 : 8.2 : 토토 커뮤니티 대한 연계 연장더 자세히 알아보기 정보.

매개변수

이름

생성될 연산자 클래스의 이름. 이름 스키마에 적합할 수 있습니다.

기본값

존재하는 경우 연산자 클래스가 기본값이 됩니다 해당 데이터 유형에 대한 연산자 클래스입니다. 최대 1명의 연산자 클래스는 특정 데이터 유형 및 인덱스의 기본값이 될 수 있습니다. 방법.

데이터_유형

이 연산자 클래스의 열 데이터 유형은 for.

index_method

이 연산자 클래스의 인덱스 메소드 이름 for.

전략_번호

연산자에 대한 인덱스 방법의 전략 번호 연산자 클래스와 연관되어 있습니다.

operator_name

연산자의 이름(선택적으로 스키마 한정) 연산자 클래스와 연관되어 있습니다.

op_type

연산자의 피연산자 데이터 유형, 또는없음왼쪽 단항 또는 오른쪽 단항을 나타냅니다. 젠 토토. 피연산자 데이터 유형은 다음에서 생략될 수 있습니다. 연산자 클래스와 동일한 일반적인 경우 데이터 유형.

다시 확인

존재하는 경우 색인은"손실"이 연산자의 경우 행 인덱스를 사용하여 검색된 내용을 다시 확인하여 다음을 확인해야 합니다. 그들은 실제로 다음과 관련된 자격 조항을 충족합니다. 이 연산자.

지원_번호

인덱스 메소드의 지원 절차 번호 연산자 클래스와 관련된 함수입니다.

기능 이름

함수의 이름(선택적으로 스키마 한정) 그것은 젠 토토를 위한 인덱스 방법 지원 절차입니다. 수업.

argument_types

함수의 매개변수 데이터 유형.

저장_유형

실제로 색인에 저장된 데이터 유형입니다. 일반적으로 이는 열 데이터 유형과 동일하지만 일부 인덱스 방법(현재는 GIN 및 GiST)을 사용하면 다를 수 있습니다.저장절은 생략되어야 합니다 인덱스 메소드가 다른 유형을 허용하지 않는 한 사용되었습니다.

젠 토토, 기능저장절은 어떤 순서로든 나타날 수 있습니다.

참고

인덱스 기계가 액세스 권한을 확인하지 않기 때문에 함수 또는 연산자를 포함하여 함수를 사용하기 전에 함수에 대해 연산자 클래스에서 공개 실행을 허용하는 것과 같습니다. 그것에 대한 허가. 일반적으로 이런 종류의 문제는 아닙니다. 연산자 클래스에 유용한 함수입니다.

연산자는 SQL 함수에 의해 정의되어서는 안 됩니다. SQL 함수는 호출 쿼리에 인라인될 가능성이 높습니다. 최적화 프로그램이 쿼리를 인식하지 못하게 됩니다. 색인과 일치합니다.

다음 예제 명령은 GiST 인덱스 연산자를 정의합니다 데이터 유형에 대한 클래스_int4(배열int4). 참조기여/intarray/전체 예를 보려면.

연산자 클래스 생성 gist__int_ops
    gist AS를 사용하는 TYPE _int4의 기본값
        연산자 3 &&,
        젠 토토 6 = 재확인,
        연산자 7 @,
        연산자 8 <@,
        연산자 20 @@ (_int4, query_int),
        기능 1 g_int_consistency(내부, _int4, int4),
        기능 2 g_int_union(bytea, 내부),
        기능 3 g_int_compress(내부),
        기능 4 g_int_decompress (내부),
        기능 5 g_int_penalty(내부, 내부, 내부),
        기능 6 g_int_picksplit(내부, 내부),
        기능 7 g_int_same (_int4, _int4, 내부);

호환성

연산자 클래스 생성PostgreSQL확장. 있다 아니요연산자 클래스 생성문의 내용 SQL 표준입니다.