ALTER EXTENSION — 확장 모듈 정의 바꾸기
ALTER EXTENSION이름
UPDATE [ TO새버전
] ALTER EXTENSION이름
SET SCHEMA새스키마
ALTER EXTENSION이름
ADD소속개체
ALTER EXTENSION이름
DROP소속개체
소속개체
자리에는: ACCESS METHOD개체이름
| AGGREGATE집계함수이름
(집계함수식별구문
) | CAST (기존자료형
AS바뀔자료형
) | COLLATION개체이름
| CONVERSION개체이름
| DOMAIN개체이름
| EVENT TRIGGER개체이름
| FOREIGN DATA WRAPPER개체이름
| FOREIGN TABLE개체이름
| FUNCTION함수이름
[ ( [ [인자모드
] [인자이름
]인자자료형
[, ...] ] ) ] | MATERIALIZED VIEW개체이름
| OPERATOR연산자이름
(왼쪽자료형
,오른쪽자료형
) | OPERATOR CLASS개체이름
USING색인방법
| OPERATOR FAMILY개체이름
USING색인방법
| [ PROCEDURAL ] LANGUAGE개체이름
| SCHEMA개체이름
| SEQUENCE개체이름
| SERVER개체이름
| TABLE개체이름
| TEXT SEARCH CONFIGURATION개체이름
| TEXT SEARCH DICTIONARY개체이름
| TEXT SEARCH PARSER개체이름
| TEXT SEARCH TEMPLATE개체이름
| TRANSFORM FOR자료형이름
LANGUAGE언어이름
| TYPE개체이름
| VIEW개체이름
집계함수식별구문
자리에는: * | [인자모드
] [인자이름
]인자자료형
[ , ... ] | [ [인자모드
] [인자이름
]인자자료형
[ , ... ] ] ORDER BY [인자모드
] [인자이름
]인자자료형
[ , ... ]
ALTER EXTENSION
명령은 확장 모듈 정의를 바꾼다.
사용 구문은 아래와 같이 여러 가지다:
UPDATE
해당 확장 모듈을 새 버전으로 바꾼다. 해당 확장 모듈에서 이 작업 - 기존 버전에서 새 버전으로 바뀔 때 내부적으로 진행되어야 할 일련의 작업 - 에 대한 스크립트를 제공해야 한다.
SET SCHEMA
해당 확장 모듈 소속 개체들을 다른 스키마로 옮긴다. 이 작업이 정상적으로 수행되려면 해당 확장 모듈이 이동 가능한 것이여야 한다. (소속 개체들의 스키마 바꾸기에 필요한 여러 접근 권한들이 있어야 한다 - 옮긴이)
ADD 소속개체
해당 확장 모듈에 지정한 한 개체를 그 모듈의 구성 요소로 지정한다. 이 작업은 확장 모듈 업데이트 스크립트에 유용하게 사용된다. 이렇게 구성 요소가 된 개체는 단독으로 삭제될 없으며, 확장 모듈이 삭제 될 때 같이 삭제 된다.
DROP 소속개체
해당 확장 모듈에 지정한 한 개체를 그 모듈에서 뺀다. 이 작업은 확장 모듈 업데이트 스크립트에 유용하게 사용된다. 이 작업으로 해당 개체가 삭제되는 것이 아니라, 단지 확장 모듈과의 의존 관계가 끊어지는 것 뿐이다.
이 부분에 대한 추가 정보는 37.15절에서 다룬다.
ALTER EXTENSION
명령은 해당 확장 모듈의
소유주가 사용한다. 또한 ADD
/DROP
작업은
그 작업 대상 개체들의 소유주여야 한다.
이름
작업 대상 확장 모듈 이름.
새버전
사용할 해당 확장 모듈의 버전. 이 값은 식별값이거나 문자열이다.
이 값을 지정하지 않고, ALTER EXTENSION UPDATE
명령을
사용하면, 해당 확장 모듈 제어 파일에 지정한 버전을 사용한다.
새스키마
바뀔 새 스키마 이름.
개체이름
집계함수이름
함수이름
연산자이름
해당 확장 모듈에 포함하거나 뺄 테이블, 집계 함수, 도메인, 외부 테이블, 함수, 연산자, 연산자 클래스, 연산자 가족, 시퀀스, 글 찾기 개체, 자료형, 뷰의 이름. 이 이름에는 스키마 이름도 포함 할 수 있다.
기존자료형
형변환자 식별을 위한 그 변환자의 기존 자료형 이름.
바뀔자료형
형변환자 식별을 위한 그 변환자의 바뀔 자료형 이름.
인자모드
함수나 집계 함수의 인자 모드: IN
, OUT
,
INOUT
, 또는 VARIADIC
.
생략하면, 기본값은 IN
.
ALTER EXTENSION
명령에서는
OUT
인자에 대해서는 무시하고, 함수 식별을 위해서
입력 인자만 확인한다. 그래서 해당 함수를 지정하기 위해서는
IN
, INOUT
, VARIADIC
인자만
지정하면 된다.
인자이름
함수나 집계 함수의 인자 이름.
ALTER EXTENSION
명령에서는
지정한 해당 함수를 찾는데 이 이름은 사용하지 않고,
단지, 인자 모드와 인자 자료형만 사용한다.
인자자료형
함수나 집계 함수의 인자 자료형.
왼쪽자료형
오른쪽자료형
연산자(스키마 이름 포함)를 지정하기 위한 자료형.
단항 연산자인 경우는 사용하지 않는 자료형에 NONE
을
지정한다.
PROCEDURAL
안 써도 되는 단어.
자료형이름
transform 개체 식별용 자료형 이름.
언어이름
transform 개체 식별용 내장 언어 이름.
hstore
확장 모듈을 2.0 버전으로 업데이트:
ALTER EXTENSION hstore UPDATE TO '2.0';
hstore
확장 모듈의 스키마를 utils
로 바꾸기:
ALTER EXTENSION hstore SET SCHEMA utils;
hstore
확장 모듈에 기존 함수 추가:
ALTER EXTENSION hstore ADD FUNCTION populate_record(anyelement, hstore);
ALTER EXTENSION
is a PostgreSQL
extension.