他のバージョンの文書 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

CREATE MATERIALIZED VIEW

CREATE MATERIALIZED VIEW — 新しいマテリアライズドビューを定義する

概要

CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] table_name
    [ (column_name [, ...] ) ]
    [ USING method ]
    [ WITH ( storage_parameter [= value] [, ... ] ) ]
    [ TABLESPACE tablespace_name ]
    AS query
    [ WITH [ NO ] DATA ]

説明

CREATE MATERIALIZED VIEWは問い合わせからマテリアライズドビューを定義します。 この問い合わせはコマンド発行時にビューにデータを投入する(WITH NO DATAが使用されていない場合)ために実行され、使用されます。 また将来のREFRESH MATERIALIZED VIEWの使用で更新されるかもしれません。

CREATE MATERIALIZED VIEWCREATE TABLE ASと似ていますが、必要に応じて後で更新できるように、ビューの初期化時に使用された問い合わせを記憶する点が異なります。 マテリアライズドビューはテーブルと同じ属性を多く持ちますが、一時的なマテリアライズドビューをサポートしていません。

CREATE MATERIALIZED VIEWには、マテリアライズドビューのために使われるスキーマでのCREATE権限が必要です。

パラメータ

IF NOT EXISTS

同じ名前のマテリアライズドビューが既に存在する場合にエラーとしません。 この場合、注意が発行されます。 既存のマテリアライズドビューが作成されようとしていたものと類似のものであることは全く保証されないことに注意してください。

table_name

作成するマテリアライズドビューの名前です(スキーマ修飾も可)。 この名前は、同じスキーマ内にある他のリレーション(テーブル、シーケンス、インデックス、ビュー、マテリアライズドビュー、外部テーブル)と異なるものでなければなりません。

column_name

新しいマテリアライズドビューの列の名前です。 列名が提供されていない場合の列名は、問い合わせの出力列名から取られます。

USING method

この省略可能な句は、新しいマテリアライズドビューの内容を保存するのに使うテーブルアクセスメソッドを指定します。メソッドはTABLE型のアクセスメソッドであることが必要です。 より詳しい情報は第63章を参照してください。 このオプションが指定されなければ、新しいマテリアライズドビューに対してはデフォルトのテーブルアクセスメソッドが選ばれます。 より詳しい情報はdefault_table_access_methodを参照してください。

WITH ( storage_parameter [= value] [, ... ] )

この句は、新しいマテリアライズドビューの格納パラメータ(省略可能)を指定します。 詳細についてはCREATE TABLEの文書の格納パラメータを参照してください。 CREATE TABLEでサポートされるすべてのパラメータはCREATE MATERIALIZED VIEWでもサポートされます。 詳細についてはCREATE TABLEを参照してください。

TABLESPACE tablespace_name

tablespace_nameはマテリアライズドビューが作成されるテーブル空間の名前です。 指定されていない場合はdefault_tablespaceを参照します。

query

SELECTTABLEまたはVALUESコマンドです。 この問い合わせはセキュリティ限定された操作の中で実行されます。 具体的には一時テーブルを作成する関数の呼び出しは失敗します。

WITH [ NO ] DATA

この句は作成時にマテリアライズドビューにデータを投入するかどうかを指定します。 投入しない場合、マテリアライズドビューはスキャン不可という印が付き、REFRESH MATERIALIZED VIEWが使用されるまで問い合わせることができません。

互換性

CREATE MATERIALIZED VIEWPostgreSQLの拡張です。

関連項目

ALTER MATERIALIZED VIEW, CREATE TABLE AS, CREATE VIEW, DROP MATERIALIZED VIEW, REFRESH MATERIALIZED VIEW