ALTER VIEW

제목

ALTER VIEW -- 뷰 속성 변경

요약

ALTER VIEW [ IF EXISTS ] 이름 ALTER [ COLUMN ] 칼럼이름 SET DEFAULT expression
ALTER VIEW [ IF EXISTS ] 이름 ALTER [ COLUMN ] 칼럼이름 DROP DEFAULT
ALTER VIEW [ IF EXISTS ] 이름 OWNER TO 새소유주
ALTER VIEW [ IF EXISTS ] 이름 RENAME TO 새이름
ALTER VIEW [ IF EXISTS ] 이름 SET SCHEMA 새스키마
ALTER VIEW [ IF EXISTS ] 이름 SET ( 뷰옵션이름 [= 뷰옵션값] [, ... ] )
ALTER VIEW [ IF EXISTS ] 이름 RESET ( 뷰옵션이름 [, ... ] )

설명

ALTER VIEW 명령은 뷰의 속성을 변경한다. (뷰에 정의된 쿼리를 변경하려면 CREATE OR REPLACE VIEW 명령을 사용한다.)

ALTER VIEW 명령은 해당 뷰의 소유주만 실행할 수 있다. 스키마를 변경하려면, 그 새 스키마의 접근 권한으로 CREATE 권한이 있어야한다. 소유주를 변경하려면, 직접적이든 간접적이든 현재 작업자 롤이 새 소유주 롤 소속으로 있어야하며, 새 소유주 또한 해당 뷰에 대한 CREATE 권한이 있어야한다. (이러한 제한은 소유주가 바뀌면 옛 소유주는 그 뷰를 삭제 할 수 없도록 하기 위함이다. 반면, 슈퍼유저라면 모든 뷰의 소유주 변경을 자유롭게 할 수 있다.)

매개 변수

이름

(스키마 이름을 포함 수도 있는) 변경 작업을 하려는 뷰의 이름

IF EXISTS

해당 뷰가 없어도 오류를 보이지 않고, 알림 메시지만 보여주고 정상 실행 된다.

SET/DROP DEFAULT

해당 뷰에 대해서 ON INSERT 룰을 사용할 경우 그 룰을 이용한 INSERT 명령이 실행될 때, 해당 칼럼에 대한 초기값을 지정하거나 지운다. 이 초기값은 INSERT 명령에서 해당 칼럼에 대한 값을 지정하지 않았을 때 사용된다.

새소유주

해당 뷰에 지정한 새소유주 롤을 지정한다.

새이름

해당 뷰의 바꿀 새 이름

새스키마

해당 뷰의 바꿀 새 스키마

뷰옵션이름

새로운 옵션 값을 지정하거나 지울 뷰 옵션 이름

뷰옵션값

지정한 뷰 옵션의 값

참고

역사적인 이유로, ALTER TABLE 명령을 뷰에서 사용할 수 있다. 하지만, ALTER TABLE 명령을 뷰에서 사용할 때는 위에서 언급한 뷰에서 사용할 수 있는 문법만 허용하고 있다.

예제

foo라는 뷰를 bar로 이름을 바꾸려면:

ALTER VIEW foo RENAME TO bar;

호환성

ALTER VIEW 명령은 표준 SQL에 대한 PostgreSQL 확장형이다.

관련 항목

CREATE VIEW, DROP VIEW