REFRESH MATERIALIZED VIEW

REFRESH MATERIALIZED VIEW — reemplaza el contenido de una vista materializada

Synopsis

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

Descripción

REFRESH MATERIALIZED VIEW reemplaza completamente el contenido de una vista materializada. Para ejecutar este comando debes tener el privilegio MAINTAIN en la vista materializada. El contenido anterior se descarta. Si se especifica WITH DATA (o por defecto), la consulta de respaldo se ejecuta para proporcionar los nuevos datos, y la vista materializada queda en un estado analizable (scannable). Si se especifica WITH NO DATA, no se generan nuevos datos y la vista materializada queda en un estado no analizable (unscannable).

CONCURRENTLY y WITH NO DATA no se pueden especificar juntos.

Parámetros

CONCURRENTLY

Actualiza la vista materializada sin bloquear los accesos de lectura (SELECT) concurrentes en la misma. Sin esta opción, una actualización que afecte a muchas filas tenderá a consumir menos recursos y completarse más rápidamente, pero podría bloquear otras conexiones que intenten leer de la vista materializada. Esta opción puede ser más rápida en los casos en que se vea afectada una pequeña cantidad de filas.

Esta opción solo se permite si existe al menos un índice UNIQUE en la vista materializada que utilice únicamente nombres de columnas e incluya todas las filas; es decir, no debe ser un índice de expresión ni incluir una cláusula WHERE.

Esta opción solo se puede utilizar cuando la vista materializada ya esté poblada con datos.

Incluso con esta opción, solo se puede ejecutar un REFRESH a la vez contra una misma vista materializada.

name

El nombre (opcionalmente calificado por esquema) de la vista materializada a actualizar.

Notas

Si hay una cláusula ORDER BY en la consulta definitoria de la vista materializada, el contenido original de la vista materializada se ordenará de esa manera; pero REFRESH MATERIALIZED VIEW no garantiza preservar ese orden.

Mientras se ejecuta REFRESH MATERIALIZED VIEW, la variable de entorno search_path se cambia temporalmente a pg_catalog, pg_temp.

Ejemplos

Este comando reemplazará el contenido de la vista materializada llamada order_summary utilizando la consulta de la definición de la vista materializada, y la dejará en un estado analizable:

REFRESH MATERIALIZED VIEW order_summary;

Este comando liberará el almacenamiento asociado con la vista materializada annual_statistics_basis y la dejará en un estado no analizable:

REFRESH MATERIALIZED VIEW annual_statistics_basis WITH NO DATA;

Compatibilidad

REFRESH MATERIALIZED VIEW es una extensión de PostgreSQL.

Véase también

CREATE MATERIALIZED VIEW, ALTER MATERIALIZED VIEW, DROP MATERIALIZED VIEW