ALTER OPERATOR 제품군이름사용 중index_method추가 범퍼카 토토전략_번호 operator_name ( op_type, op_type) | 기능지원_번호 [ ( op_type [ , op_type ] ) ] 함수_이름 ( argument_type[, ...] ) [, ... ] ALTER 범퍼카 토토 제품군이름사용 중index_method드롭 범퍼카 토토전략_번호 ( op_type [ , op_type] ) | 기능지원_번호 ( op_type [ , op_type] ) [, ... ] ALTER 범퍼카 토토 제품군이름사용 중index_method다음으로 이름 바꾸기:new_nameALTER OPERATOR 제품군이름사용 중index_method소유자:new_owner
ALTER OPERATOR 제품군변경 연산자 제품군의 정의. 연산자를 추가할 수 있으며 가족에게 기능을 지원하거나 가족에서 제거하거나 가족의 이름이나 소유자를 변경합니다.
연산자와 지원 기능이 제품군에 추가되는 경우 와 함께ALTER OPERATOR 제품군, 그렇지 않습니다. 제품군 내 특정 연산자 클래스의 일부이지만 그냥"느슨한"가족 내에서. 이 이는 이러한 연산자와 함수가 다음과 호환됨을 나타냅니다. 가족의 의미는 정확하지만 필수는 아닙니다. 특정 인덱스의 기능. (연산자와 함수는 그래서 필수이므로 연산자 클래스의 일부로 선언해야 합니다. 대신; 참조PostgreSQL :.) PostgreSQL할 것이다 느슨한 가족 구성원이 가족에서 제외되도록 허용합니다. 언제든지, 그러나 연산자 클래스의 멤버는 삭제할 수 없습니다. 전체 클래스와 의존하는 인덱스를 삭제하지 않고 그것. 일반적으로 단일 데이터 유형 연산자와 함수는 인덱스를 지원하는 데 필요하기 때문에 연산자 클래스 특정 데이터 유형에 대해 교차 데이터 유형 연산자와 기능은 느슨한 가족 구성원이 됩니다.
이용하려면 슈퍼유저여야 합니다.변경 범퍼카 토토 가족. (이 제한은 잘못된 연산자 제품군 정의는 혼란을 주거나 충돌을 일으킬 수 있습니다. 서버.)
ALTER OPERATOR 제품군하지 않습니다 현재 범퍼카 토토 제품군 정의에 포함되어 있는지 확인하십시오. 인덱스 메소드에 필요한 모든 연산자와 함수, 연산자와 함수가 일관성 있는 집합을 형성하는지 여부. 유효한 연산자를 정의하는 것은 사용자의 책임입니다. 가족.
참조무지개 토토 PostgreSQL : 문서 : 9.0 : 인덱스에 대한 확장 프로그램더 자세히 알아보기 정보.
기존 이름(선택적으로 스키마 한정) 연산자 계열.
이 연산자 계열의 인덱스 메소드 이름은 다음과 같습니다. for.
연산자에 대한 인덱스 방법의 전략 번호 연산자 계열과 연관되어 있습니다.
연산자의 이름(선택적으로 스키마 한정) 연산자 계열과 연관되어 있습니다.
안에범퍼카 토토절, 연산자의 피연산자 데이터 유형 또는없음왼쪽 단항 또는 오른쪽 단항을 나타냅니다. 범퍼카 토토. 비교 가능한 구문과 달리연산자 클래스 생성, 피연산자 데이터 유형은 항상 지정되어야 합니다.
안에기능 추가절, 함수가 지원하려는 피연산자 데이터 유형, 함수의 입력 데이터 유형과 다른 경우. B-트리 및 해시 인덱스의 경우 지정할 필요가 없습니다.op_type이후 함수의 입력 데이터 유형은 항상 올바른 유형입니다. 사용합니다. GIN 및 GiST 인덱스의 경우 다음을 지정해야 합니다. 함수와 함께 사용될 입력 데이터 유형입니다.
에드롭 기능절, 함수가 지원하려는 피연산자 데이터 유형 지정해야 합니다.
인덱스 메소드의 지원 절차 번호 연산자 계열과 관련된 함수입니다.
함수의 이름(선택적으로 스키마 한정) 그것은 범퍼카 토토를 위한 인덱스 방법 지원 절차입니다. 가족.
함수의 매개변수 데이터 유형.
범퍼카 토토 계열의 새 이름.
범퍼카 토토 가족의 새로운 소유자.
그범퍼카 토토그리고기능절은 어떤 순서로든 나타날 수 있습니다.
다음에 주목하세요.드롭구문만 를 지정합니다."슬롯"연산자에서 제품군, 전략 또는 지원 번호 및 입력 데이터 유형별. 는 슬롯을 차지하는 연산자나 함수의 이름이 아닙니다. 언급됨. 또한,드롭 기능지정할 유형은 함수의 입력 데이터 유형입니다. 지원하려는 의도; GIN 및 GiST 인덱스의 경우 실제 입력 인수 유형과는 아무런 관련이 없습니다. 기능.
인덱스 기계는 접근 권한을 확인하지 않기 때문에 함수 또는 연산자를 포함하여 함수를 사용하기 전에 함수에 대해 범퍼카 토토 계열에서는 공개 실행을 허용하는 것과 같습니다. 그것에 대한 허가. 일반적으로 이런 종류의 문제는 아닙니다. 연산자 계열에 유용한 함수입니다.
연산자는 SQL 함수에 의해 정의되어서는 안 됩니다. SQL 함수는 호출 쿼리에 인라인될 가능성이 높습니다. 최적화 프로그램이 쿼리를 인식하지 못하게 됩니다. 색인과 일치합니다.
이전PostgreSQL8.4, 그범퍼카 토토절에는 다음이 포함될 수 있습니다.다시 확인옵션. 이것은 더 이상 인덱스 연산자가 다음과 같으므로 지원됩니다."손실"이제 런타임에 즉시 결정됩니다. 이를 통해 범퍼카 토토가 다음과 같은 경우를 효율적으로 처리할 수 있습니다. 아니면 손실이 없을 수도 있습니다.
다음 예제 명령은 교차 데이터 유형 연산자를 추가합니다 이미 포함된 연산자 제품군에 대한 지원 기능 데이터 유형에 대한 B-트리 연산자 클래스int4그리고int2.
btree ADD를 사용하는 ALTER OPERATOR FAMILY 정수_ops -- int4 대 int2 연산자 1 < (int4, int2) , 연산자 2 <= (int4, int2) , 연산자 3 = (int4, int2) , 연산자 4 = (int4, int2) , 연산자 5 (int4, int2) , 기능 1 btint42cmp(int4, int2) , -- int2 대 int4 연산자 1 < (int2, int4) , 연산자 2 <= (int2, int4) , 연산자 3 = (int2, int4) , 연산자 4 = (int2, int4) , 연산자 5 (int2, int4) , 함수 1 btint24cmp(int2, int4) ;
이 항목을 다시 제거하려면:
btree DROP을 사용하는 ALTER OPERATOR FAMILY 정수_ops -- int4 대 int2 연산자 1 (int4, int2) , 연산자 2 (int4, int2) , 연산자 3 (int4, int2) , 연산자 4 (int4, int2) , 연산자 5 (int4, int2) , 함수 1 (int4, int2) , -- int2 대 int4 연산자 1 (int2, int4) , 연산자 2 (int2, int4) , 연산자 3 (int2, int4) , 연산자 4 (int2, int4) , 연산자 5 (int2, int4) , 함수 1(int2, int4) ;