# 刷新物化视图
REFRESH MATERIALIZED VIEW — 替换物化视图的内容
# 概要
REFRESH MATERIALIZED VIEW [ CONCURRENTLY ] name
[ WITH [ NO ] DATA ]
# 描述
刷新物化视图
完全替换物化视图的内容。要执行此命令,您必须是物化视图的所有者。旧内容被丢弃。如果有数据
指定(或默认)后备查询被执行以提供新数据,并且物化视图处于可扫描状态。如果没有数据
指定不生成新数据并且物化视图处于不可扫描状态。
同时
和没有数据
不能一起指定。
# 参数
同时
刷新物化视图而不锁定物化视图上的并发选择。如果没有此选项,影响大量行的刷新将倾向于使用更少的资源并更快地完成,但可能会阻止尝试从物化视图读取的其他连接。在少量行受到影响的情况下,此选项可能会更快。
仅当至少有一个时才允许使用此选项独特
仅使用列名并包括所有行的物化视图上的索引;也就是说,它不能是表达式索引或包含在哪里
条款。
当物化视图尚未填充时,可能不会使用此选项。
即使有这个选项只有一个刷新
一次可能会违背任何一种物化视图。
姓名
要刷新的物化视图的名称(可选模式限定)。
# 笔记
如果有一个订购方式
子句在物化视图的定义查询中,物化视图的原始内容将以这种方式排序;但刷新物化视图
不保证保留该顺序。
# 例子
此命令将替换名为的物化视图的内容order_summary
使用物化视图定义中的查询,并使其处于可扫描状态:
REFRESH MATERIALIZED VIEW order_summary;
此命令将释放与物化视图关联的存储空间年度统计基础
并使其处于不可扫描状态:
REFRESH MATERIALIZED VIEW annual_statistics_basis WITH NO DATA;
# 兼容性
刷新物化视图
是一个 PostgreSQL 扩展。