# 刷新物化视图

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 扩展。

# 也可以看看

创建物化视图,改变物化视图,删除物化视图