이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

17.5. 연산자 클래스

다음 관심 테이블은pg_opclass. 이 테이블은 연산자 클래스를 정의합니다. 각 연산자 클래스의 이름 및 입력 데이터 유형 특정 인덱스 액세스 방법으로 지원됩니다. 같은 클래스 이름이라도 가능 여러 가지 다른 액세스 방법에 사용됩니다(예: 두 가지 모두 B-트리 및 해시 액세스 방법에는 다음과 같은 연산자 클래스가 있습니다.oid_ops), 그러나 별도의pg_opclass각 액세스마다 행이 나타나야 합니다. 방법. OID는pg_opclass행은 연결할 다른 테이블의 외래 키로 사용됩니다. 특정 운영자 및 운영자와의 지원 루틴 수업.

당신은 스포츠 토토 베트맨 클래스 이름을 가진 행을 추가해야 합니다( 예complex_abs_ops) ~pg_opclass:

pg_opclass에 삽입(opcamid, opcname, opcintype, opcdefault, opckeytype)
    값(
        (amname = 'btree'인 pg_am에서 oid 선택),
        'complex_abs_ops',
        (pg_type WHERE typname = 'complex'에서 oid 선택),
        사실,
        0);

선택 oid, *
    pg_opclass에서
    opcname = 'complex_abs_ops';

  이드 | opcamid |     opc이름 | 옵신타입 | opc기본 | opckey 유형
---------+---------+----+------------+------------+------------
 277975 |     403 | complex_abs_ops |    277946 | 티 |          0
(1행)

귀하의 OID에 유의하십시오.pg_opclass행은 다를 것입니다! 걱정하지 마세요 그래도 이것에 대해서는. 나중에 시스템에서 이 번호를 가져옵니다. 여기서 해당 유형의 OID를 얻은 것과 같습니다.

위의 예는 당신이 이것을 새로 만들고 싶다고 가정합니다 연산자 클래스는 에 대한 기본 B-트리 연산자 클래스입니다.복잡한데이터 유형. 그렇지 않다면 그냥 설정하세요.opcdefault대신 거짓으로.opckeytype여기에는 설명되어 있지 않습니다. 그것 B-트리 연산자 클래스의 경우 항상 0이어야 합니다.