CREATE MATERIALIZED VIEW
CREATE MATERIALIZED VIEW — 定義一個新的具體化檢視表
語法
CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] 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 類似,只是它還記得用於初始化檢視表的查詢,以便稍後可以根據需要更新它。具體化檢視表具有許多與資料表相同的屬性,但不支援臨時具體化檢視表或自動產生 O
ID。
參數
IF NOT EXISTS
如果已經存在具有相同名稱的具體化檢視表的話,請不要拋出錯誤。在這種情況下會發布通知。請注意,這不能保證現有的具體化檢視表與想要建立的檢視表相似。
table_name
要建立的具體化檢視表名稱(可選擇性加上所屬綱要)。
column_name
新的具體化檢視表中欄位的名稱。如果未提供欄位名稱,則從查詢的輸出的欄位名稱中取得它們。
WITH (
storage_parameter
[= value
] [, … ] )
此子句為新的具體化檢視表指定選擇性的儲存參數;請參閱儲存參數選項了解更多訊息。CREATE TABLE 支援的所有參數也都支援 CREATE MATERIALIZED VIEW,只有 OIDS 除外。有關更多訊息,請參閱 CREATE TABLE。
TABLESPACE
tablespace_name
tablespace_name 用於要在其中建立新的具體化檢視表的資料表空間名稱。如果未指定,則會使用 default_tablespace 設定。
query
一個 SELECT、TABLE 或 VALUES 指令。該查詢將在安全保障的操作環境中執行;特別是對自己建立的臨時資料表函數的呼叫將會失敗。
WITH [ NO ] DATA
此子句指定是否需要在建立時把資料填入具體化檢視表。如果沒有的話,則具體化檢視表將被標記為不可進行資料掃描,並且在使用 REFRESH MATERIALIZED VIEW 之前都無法查詢。
相容性
CREATE MATERIALIZED VIEW
is a PostgreSQL extension.
參閱
ALTER MATERIALIZED VIEW, CREATE TABLE AS, CREATE VIEW, DROP MATERIALIZED VIEW, REFRESH MATERIALIZED VIEW