CREATE MATERIALIZED VIEW — 새 구체화한 뷰 정의
CREATE MATERIALIZED VIEW [ IF NOT EXISTS ]테이블이름
[ (칼럼이름
[, ...] ) ] [ USINGmethod
] [ WITH (저장_매개변수
[=값
] [, ... ] ) ] [ TABLESPACE테이블스페이스이름
] AS쿼리
[ WITH [ NO ] DATA ]
CREATE MATERIALIZED VIEW
명령은 지정한 쿼리에 대한
구체화한 뷰를 만든다.
이 명령이 실행 될 때(WITH NO DATA
옵션을 사용하지 않았다면)
지정한 쿼리를 실행하고, 그 결과를 지정한 테이블에 저장한다. 이 자료는
나중에, REFRESH MATERIALIZED VIEW
명령으로
갱신한다.
CREATE MATERIALIZED VIEW
명령은
CREATE TABLE AS
명령과 흡사하지만,
그 자료 추출 쿼리를 기억하고 있어, 필요에 따라,
단순한 갱신 명령으로 자료를 갱신할 수 있다는 장점이 있다.
구체화한 뷰는 테이블과 비슷하기 때문에, 테이블에서 사용하는
대부분 속성들을 사용한다. 임시 구체화화 뷰는 지원하지 않는다.
IF NOT EXISTS
지정한 이름의 개체가 이미 있어도 오류로 처리하지 않고, 알림 메시지만 보여준다. 이미 있는 해당 이름의 개체가 만들고자 하는 구체화한 뷰와 정확히 일치하는지는 확인하지 않는다.
테이블이름
새로 만들 구체화한 뷰 이름(스키마 이름 포함).
칼럼이름
새 구체화한 뷰의 칼럼 이름. 칼럼 이름을 생략하면, 지정한 쿼리 결과로 사용된 칼럼 이름이 사용된다.
USING method
This optional clause specifies the table access method to use to store
the contents for the new materialized view; the method needs be an
access method of type TABLE
. See 60장 for more information. If this option is not
specified, the default table access method is chosen for the new
materialized view. See default_table_access_method
for more information.
WITH ( 저장_매개변수
[= 값
] [, ... ] )
해당 구체화한 뷰의 저장 매개 변수 값을 지정한다.
여기서 사용할 수 있는 매개 변수 이름과 그 값은
CREATE TABLE의
스토리지 매개 변수 부분에서
자세히 다룬다.
CREATE TABLE
명령에서 사용할 수 있는
모든 매개 변수는 CREATE MATERIALIZED
VIEW
명령에서도 사용할 수 있다.
CREATE TABLE 명령 설명서 참조.
TABLESPACE 테이블스페이스이름
새 구체화한 뷰가 저장될 테이블스페이스이름
.
지정하지 않으며, default_tablespace 설정값의
테이블스페이스가 사용된다.
쿼리
SELECT, TABLE, 또는 VALUES 명령. 이 쿼리는 보안-제한 동작으로 실행되며, 임시 테이블을 만드는 함수에서 같이 사용되면, 작업은 실패한다.
WITH [ NO ] DATA
구체화한 뷰를 아직 사용하지 않는 것으로 간주하고 만든다.
이렇게 만들어진 구체화한 뷰는 REFRESH
MATERIALIZED VIEW
명령이 실행되기 전까지는 사용할 수 없다.
CREATE MATERIALIZED VIEW
구문은
PostgreSQL 확장 기능이다.