다음 관심 테이블은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이어야 합니다.