이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 스포츠 토토 베트맨 Alter Family버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

변경 사설 토토 가족

이름

ALTER OPERATOR FAMILY -- 변경 연산자 제품군의 정의

시놉시스

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이름을 다음으로 변경:새 이름ALTER OPERATOR 제품군이름사용 중index_method소유자:새 소유자

설명

ALTER OPERATOR 제품군변경 연산자 제품군의 정의. 연산자를 추가할 수 있으며 가족에게 기능을 지원하거나 가족에서 제거하거나 가족의 이름이나 소유자를 변경합니다.

연산자와 지원 기능이 계열에 추가되는 경우 와 함께ALTER OPERATOR 제품군, 그렇지 않습니다. 제품군 내 특정 연산자 클래스의 일부이지만 그냥"느슨한"가족 내에서. 이 이는 이러한 연산자와 함수가 다음과 호환됨을 나타냅니다. 가족의 의미는 정확하지만 필수는 아닙니다. 특정 인덱스의 기능. (연산자와 함수는 그래서 필수이므로 연산자 클래스의 일부로 선언해야 합니다. 대신; 참조PostgreSQL : 문서.) PostgreSQL가족의 느슨한 구성원이 Family는 언제든지 가능하지만 Operator 클래스의 구성원은 전체 클래스와 인덱스를 삭제하지 않고 삭제되었습니다. 그것에 의존하십시오. 일반적으로 단일 데이터 유형 연산자 및 함수 지원하는 데 필요하기 때문에 연산자 클래스의 일부입니다. 해당 특정 데이터 유형에 대한 인덱스인 반면, cross-data-type 연산자와 함수는 계열의 느슨한 구성원이 됩니다.

이용하려면 수퍼유저여야 합니다.변경 사설 토토 가족. (이 제한은 잘못된 연산자 제품군 정의는 혼란을 주거나 충돌을 일으킬 수 있습니다. 서버.)

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

참조토토 핫 PostgreSQL : 문서화 : 8.4 : 인덱스에 대한 확장을 인터페이스합니다더 자세히 알아보기 정보.

매개변수

이름

기존 이름(선택적으로 스키마 한정) 연산자 계열.

index_method

이 연산자 계열의 인덱스 메소드 이름은 다음과 같습니다. for.

전략_번호

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

operator_name

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

op_type

안에사설 토토절, 연산자의 피연산자 데이터 유형 또는없음왼쪽 단항 또는 오른쪽 단항을 나타냄 사설 토토. 비교 가능한 구문과 달리오퍼레이터 클래스 생성, 피연산자 데이터 유형은 항상 지정되어야 합니다.

안에기능 추가절, 함수가 지원하려는 피연산자 데이터 유형, 함수의 입력 데이터 유형과 다른 경우. B-트리 및 해시 인덱스의 경우 지정할 필요가 없습니다.op_type이후 함수의 입력 데이터 유형은 항상 올바른 유형입니다. 사용합니다. GIN 및 GiST 인덱스의 경우 다음을 지정해야 합니다. 함수와 함께 사용될 입력 데이터 유형입니다.

드롭 기능절, 함수가 지원하려는 피연산자 데이터 유형 지정해야 합니다.

지원_번호

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

기능 이름

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

argument_types

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

새 이름

사설 토토 계열의 새 이름입니다.

새 소유자

사설 토토 가족의 새로운 소유자.

사설 토토그리고기능절은 어떤 순서로든 나타날 수 있습니다.

참고

다음에 주의하세요.드롭구문만 를 지정합니다."슬롯"연산자에서 제품군, 전략 또는 지원 번호 및 입력 데이터 유형별. 는 슬롯을 차지하는 연산자나 함수의 이름이 아닙니다. 언급됨. 또한,드롭 기능지정할 유형은 함수의 입력 데이터 유형입니다. 지원하려는 의도; 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) ;

호환성

없습니다ALTER OPERATOR 제품군SQL 표준의 문입니다.