ALTER OPERATOR CLASS
ALTER OPERATOR CLASS
ALTER OPERATOR CLASS는 연산자 클래스(operator class)의 정의를 바꾸는 명령이에요. 연산자 클래스의 이름, 소유자, 스키마를 변경할 수 있어요.
출처: PostgreSQL 문서
본문
문법 (Synopsis)
ALTER OPERATOR CLASS name USING index_method
RENAME TO new_name
ALTER OPERATOR CLASS name USING index_method
OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
ALTER OPERATOR CLASS name USING index_method
SET SCHEMA new_schema
설명 (Description)
ALTER OPERATOR CLASS는 연산자 클래스의 정의를 변경해요.
이 명령을 쓰려면 연산자 클래스의 소유자여야 해요. 소유자를 바꾸려면 새 소유 역할로 SET ROLE 할 수 있어야 하고, 그 역할이 연산자 클래스의 스키마에 대한 CREATE 권한도 가져야 해요. (이런 제약은 소유자 변경을 통해 연산자 클래스를 드롭하고 재생성하는 것 이상의 일을 못 하게 하려는 거예요. 다만 슈퍼유저는 어떤 연산자 클래스의 소유권이든 바꿀 수 있어요.)
파라미터 (Parameters)
name — 기존 연산자 클래스의 이름이에요 (스키마 한정을 써도 돼요).
index_method — 이 연산자 클래스가 대상으로 하는 인덱스 메서드의 이름이에요.
new_name — 연산자 클래스의 새 이름이에요.
new_owner — 연산자 클래스의 새 소유자예요.
new_schema — 연산자 클래스의 새 스키마예요.
호환성 (Compatibility)
SQL 표준에는 ALTER OPERATOR CLASS 문이 없어요.
더 알아보기 (Learn more)
- 연산자 클래스의 소유권을 바꾸려면 새 소유자 역할로
SET ROLE할 수 있어야 하고, 그 역할이 스키마에CREATE권한을 가져야 해요. - 연산자 클래스는 항상 특정 인덱스 메서드(
USING index_method)에 묶여 있어요. - 이 명령은 SQL 표준에 없는 PostgreSQL 확장 개념이에요.