Redrock Postgres 搜索 英文
版本: 9.3 / 9.4 / 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17

REFRESH MATERIALIZED VIEW

REFRESH MATERIALIZED VIEW - 替换物化视图的内容

简介

REFRESH MATERIALIZED VIEW [ CONCURRENTLY ] name
    [ WITH [ NO ] DATA ]

描述

刷新物化视图 完全替换物化视图的内容。要执行此命令,您必须拥有物化视图上的 MAINTAIN 权限。旧内容将被丢弃。如果指定(或默认)WITH DATA,将执行后台查询以提供新数据,并且物化视图将保留在可扫描状态。如果指定WITH NO DATA,则不会生成新数据,并且物化视图将保留在不可扫描状态。

不能同时指定 CONCURRENTLYWITH NO DATA

参数

CONCURRENTLY

刷新物化视图,而不阻塞物化视图上的并发选择。如果没有此选项,影响大量行的刷新通常会倾向于使用更少的资源且完成更迅速,但可能会阻塞尝试从物化视图中读取的其他连接。在受影响的行较少的情况下,此选项可能更快。

此选项仅在物化视图(仅使用列名且包含所有行)至少有一个UNIQUE索引时才允许;也就是说,它必须不是一个表达式索引或包含WHERE子句。

此选项只能在物化视图已经填充时使用。

即使使用此选项,也可能一次只针对任何一个物化视图运行一个刷新

名称

要刷新的物化视图的名称(可选的架构限定)。

注释

如果物化视图的定义查询中有ORDER BY子句,则物化视图的原始内容将以这种方式排序;但刷新物化视图不保证保留该顺序。

刷新物化视图正在运行时,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;

兼容性

刷新物化视图PostgreSQL扩展。

另请参见

创建物化视图修改物化视图删除物化视图