CREATE MATERIALIZED VIEW table_name [ (column_name [, ...] ) ] [ WITH ( storage_parameter [= value] [, ... ] ) ] [ TABLESPACE tablespace_name ] AS query [ WITH [ NO ] DATA ]
CREATE MATERIALIZED VIEWは問い合わせからマテリアライズドビューを定義します。 この問い合わせは実行され、コマンド発行時にビューにデータを投入する(WITH NO DATAが使用されていない場合)ために使用されます。 また将来のREFRESH MATERIALIZED VIEWの使用で更新されるかもしれません。
CREATE MATERIALIZED VIEWはCREATE TABLE ASと似ていますが、必要に応じて後で更新できるように、ビューの初期化時に使用された問い合わせを記憶する点が異なります。 マテリアライズドビューはテーブルと同じ属性を多く持ちますが、一時的なマテリアライズドビューやOIDの自動生成をサポートしていません。
作成するマテリアライズドビューの名前(スキーマ修飾可)です。
新しいマテリアライズドビューの列の名前です。 列名が提供されていない場合の列名は、問い合わせの出力列名から取られます。
この句は、新しいマテリアライズドビューの省略可能な格納パラメータを指定します。 省略については格納パラメータを参照してください。 CREATE TABLEでサポートされる、OIDS以外のすべてのパラメータはCREATE MATERIALIZED VIEWでもサポートされます。 省略についてはCREATE TABLEを参照してください。
tablespace_nameはマテリアライズドビューが作成されるテーブル空間の名前です。 指定されていない場合はdefault_tablespaceを調べます。
SELECT、TABLEまたはVALUESコマンドです。 この問い合わせはセキュリティ限定された操作の中で実行されます。 具体的には一時テーブルを作成する関数の呼び出しは失敗します。
この句は作成時にマテリアライズドビューにデータを投入するかどうかを指定します。 投入しない場合、マテリアライズドビューはスキャン不可という印が付き、REFRESH MATERIALIZED VIEWが使用されるまで問い合わせることができません。