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개체이름
| PROCEDURE프로시져이름
[ ( [ [인자모드
] [인자이름
]인자자료형
[, ...] ] ) ] | ROUTINE루틴이름
[ ( [ [인자모드
] [인자이름
]인자자료형
[, ...] ] ) ] | 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.17절에서 다룬다.
ALTER EXTENSION
명령은 해당 확장 모듈의
소유주가 사용한다. 또한 ADD
/DROP
작업은
그 작업 대상 개체들의 소유주여야 한다.
이름
작업 대상 확장 모듈 이름.
새버전
사용할 해당 확장 모듈의 버전. 이 값은 식별값이거나 문자열이다.
이 값을 지정하지 않고, ALTER EXTENSION UPDATE
명령을
사용하면, 해당 확장 모듈 제어 파일에 지정한 버전을 사용한다.
새스키마
바뀔 새 스키마 이름.
개체이름
집계함수이름
함수이름
연산자이름
procedure_name
routine_name
해당 확장 모듈에 포함하거나 뺄 테이블, 집계 함수, 도메인, 외부 테이블, 함수, 연산자, 연산자 클래스, 연산자 가족, 프로시져, 루틴, 시퀀스, 글 찾기 개체, 자료형, 뷰의 이름. 이 이름에는 스키마 이름도 포함 할 수 있다.
기존자료형
형변환자 식별을 위한 그 변환자의 기존 자료형 이름.
바뀔자료형
형변환자 식별을 위한 그 변환자의 바뀔 자료형 이름.
인자모드
함수, 프로시시져나 집계 함수의 인자 모드: 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.