ALTER OPERATOR — 연산자 정의 바꾸기
ALTER OPERATOR이름
( {왼쪽자료형
| NONE } , {오른쪽자료형
| NONE } ) OWNER TO {새소유주
| CURRENT_USER | SESSION_USER } ALTER OPERATOR이름
( {왼쪽자료형
| NONE } , {오른쪽자료형
| NONE } ) SET SCHEMA새스키마
ALTER OPERATOR이름
( {왼쪽자료형
| NONE } , {오른쪽자료형
| NONE } ) SET ( { RESTRICT = {제한함수
| NONE } | JOIN = {조인함수
| NONE } } [, ... ] )
ALTER OPERATOR
명령은 지정한 연산자 정의를 바꾼다.
ALTER OPERATOR
명령은 해당 연산자 소유주만 사용할 수 있다.
소유주를 바꿀 때는 기존 소유주가 새 소유주의 직간접적으로 구성원이어야
하며, 새 소유주는 해당 스키마에 대해서 CREATE
권한이
있어야 한다. (새로 바뀐 소유주가 해당 연산자를 지우거나 다시
만들 수 있도록 하기 위함이다. 반면 슈퍼유저는 이런 제약 없이 소유주를
바꿀 수 있다.)
이름
작업 대상 연산자 이름(스키마 이름 포함).
왼쪽자료형
연산에 사용되는 왼쪽 자료형; 이 자료형을 쓰지 않을 경우는
NONE
.
오른쪽자료형
연산에 사용되는 오른쪽 자료형; 이 자료형을 쓰지 않을 경우는
NONE
.
새소유주
해당 연산자의 새 소유주 이름.
새스키마
해당 연산자의 새 스키마 이름.
제한함수
해당 연산자용 제한 선택 추정자 함수; NONE
으로
지정하면, 기존 제한함수를 지운다.
조인함수
해당 연산자용 조인 선택 추정자 함수; NONE
으로
지정하면, 기존 조인함수를 지운다.
text
자료형용 a @@ b
연산자
소유주를 변경하는 예제:
ALTER OPERATOR @@ (text, text) OWNER TO joe;
int[]
자료형용 a && b
연산자의
제한 함수와 조인 함수를 바꾸는 예제:
ALTER OPERATOR && (_int4, _int4) SET (RESTRICT = _int_contsel, JOIN = _int_contjoinsel);
ALTER OPERATOR
구문은 표준 SQL 구문이 아니다.