CREATE MATERIALIZED VIEW — 定義一個新的物化檢視
CREATE MATERIALIZED VIEW [ IF NOT EXISTS ]table_name[ (column_name[, ...] ) ] [ USINGmethod] [ WITH (storage_parameter[=value] [, ... ] ) ] [ TABLESPACEtablespace_name] ASquery[ WITH [ NO ] DATA ]
CREATE MATERIALIZED VIEW 定義一個查詢的物化檢視。該查詢將在發出命令時執行並用於填充檢視(除非使用了 WITH NO DATA),並且之後可以使用 REFRESH MATERIALIZED VIEW 進行重新整理。
CREATE MATERIALIZED VIEW 類似於 CREATE TABLE AS,不同之處在於它還會記住用於初始化檢視的查詢,以便稍後可以按需重新整理。物化檢視具有許多與表相同的屬性,但不支援臨時物化檢視。
CREATE MATERIALIZED VIEW 需要對用於物化檢視的模式擁有 CREATE 許可權。
IF NOT EXISTS如果同名的物化檢視已存在,則不丟擲錯誤。在這種情況下會發出一個通知。請注意,不能保證現有物化檢視與將要建立的檢視有任何相似之處。
table_name要建立的物化檢視的名稱(可選擇模式限定)。該名稱必須與同一模式中的任何其他關係(表、序列、索引、檢視、物化檢視或外部表)的名稱不同。
column_name新物化檢視中列的名稱。如果未提供列名,則將從查詢的輸出列名中獲取。
USING method此可選子句指定用於儲存新物化檢視內容的表訪問方法;該方法必須是 TABLE 型別的訪問方法。有關更多資訊,請參閱 第 62 章。如果未指定此選項,則為新物化檢視選擇預設表訪問方法。有關更多資訊,請參閱 default_table_access_method。
WITH ( storage_parameter [= value] [, ... ] )此子句指定新物化檢視的可選儲存引數;有關更多資訊,請參閱 儲存引數 中的 CREATE TABLE 文件。CREATE TABLE 支援的所有引數也支援 CREATE MATERIALIZED VIEW。有關更多資訊,請參閱 CREATE TABLE。
TABLESPACE tablespace_nametablespace_name 是要建立新物化檢視的表空間的名稱。如果未指定,則會查詢 default_tablespace。
query一個 SELECT、TABLE 或 VALUES 命令。此查詢將在一個受安全限制的操作中執行;特別是,呼叫建立臨時表的函式將會失敗。此外,在查詢執行時,search_path 會暫時更改為 pg_catalog, pg_temp。
WITH [ NO ] DATA此子句指定在建立時是否應填充物化檢視。如果未填充,則物化檢視將被標記為不可掃描,在執行 REFRESH MATERIALIZED VIEW 之前無法查詢。
CREATE MATERIALIZED VIEW 是 PostgreSQL 的一個擴充套件。
如果您在文件中發現任何不正確、與您對特定功能的體驗不符或需要進一步澄清的內容,請使用 此表格 報告文件問題。