REFRESH MATERIALIZED VIEW — 替換物化檢視的內容
REFRESH MATERIALIZED VIEW [ CONCURRENTLY ] name
[ WITH [ NO ] DATA ]
REFRESH MATERIALIZED VIEW
命令將完全替換物化檢視的內容。要執行此命令,您必須對該物化檢視擁有 MAINTAIN
許可權。舊內容將被丟棄。如果指定了 WITH DATA
(或預設),將執行底層查詢來提供新資料,物化檢視將處於可掃描狀態。如果指定了 WITH NO DATA
,則不生成新資料,物化檢視將處於不可掃描狀態。
CONCURRENTLY
和 WITH NO DATA
不能同時指定。
CONCURRENTLY
在不阻止對物化檢視進行併發 SELECT 操作的情況下重新整理物化檢視。沒有此選項時,重新整理大量行傾向於使用較少資源並更快完成,但可能會阻塞其他嘗試從物化檢視讀取資料的連線。此選項在影響少量行的情況下可能更快。
僅當物化檢視上至少有一個 UNIQUE
索引時,才允許使用此選項,該索引僅使用列名幷包含所有行;也就是說,它不能是表示式索引或包含 WHERE
子句。
僅當物化檢視已填充時才能使用此選項。
即使使用此選項,一次也只能針對任何一個物化檢視執行一個 REFRESH
操作。
name
要重新整理的物化檢視的名稱(可選擇模式限定)。
如果物化檢視的定義查詢中包含 ORDER BY
子句,則物化檢視的原始內容將按此順序排列;但 REFRESH MATERIALIZED VIEW
不保證保留此排序。
在 REFRESH MATERIALIZED VIEW
執行時,search_path 會臨時更改為 pg_catalog, pg_temp
。
此命令將使用物化檢視定義中的查詢替換名為 order_summary
的物化檢視的內容,並使其處於可掃描狀態。
REFRESH MATERIALIZED VIEW order_summary;
此命令將釋放與物化檢視 annual_statistics_basis
關聯的儲存,並使其處於不可掃描狀態。
REFRESH MATERIALIZED VIEW annual_statistics_basis WITH NO DATA;
REFRESH MATERIALIZED VIEW
是 PostgreSQL 的一個擴充套件。
如果您在文件中發現任何不正確之處、與您對特定功能的實際體驗不符之處,或需要進一步澄清之處,請使用此表單報告文件問題。