CREATE MATERIALIZED VIEW

CREATE MATERIALIZED VIEW — definir una nueva vista materializada

Synopsis

CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] nombre_tabla
    [ (nombre_columna [, ...] ) ]
    [ USING método ]
    [ WITH ( parámetro_almacenamiento [= valor] [, ... ] ) ]
    [ TABLESPACE nombre_tablespace ]
    AS consulta
    [ WITH [ NO ] DATA ]

Descripción

CREATE MATERIALIZED VIEW define una vista materializada de una consulta. La consulta se ejecuta y se utiliza para llenar la vista en el momento en que se emite el comando (a menos que se use WITH NO DATA) y puede ser actualizada más tarde usando REFRESH MATERIALIZED VIEW.

CREATE MATERIALIZED VIEW es similar a CREATE TABLE AS, excepto que también recuerda la consulta utilizada para inicializar la vista, de modo que pueda actualizarse más tarde a petición. Una vista materializada tiene muchas de las mismas propiedades que una tabla, pero no hay soporte para vistas materializadas temporales.

CREATE MATERIALIZED VIEW requiere el privilegio CREATE en el esquema utilizado para la vista materializada.

Parámetros

IF NOT EXISTS

No lances un error si ya existe una vista materializada con el mismo nombre. En este caso se emitirá una advertencia. Ten en cuenta que no hay garantía de que la vista materializada existente sea similar a la que se habría creado.

nombre_tabla

El nombre (opcionalmente calificado por esquema) de la vista materializada que se va a crear. El nombre debe ser distinto del nombre de cualquier otra relación (tabla, secuencia, índice, vista, vista materializada o tabla foránea) en el mismo esquema.

nombre_columna

El nombre de una columna en la nueva vista materializada. Si no se proporcionan nombres de columnas, se toman de los nombres de las columnas de salida de la consulta.

USING método

Esta cláusula opcional especifica el método de acceso a tablas que se utilizará para almacenar el contenido de la nueva vista materializada; el método debe ser un método de acceso de tipo TABLE. Consulta la Chapter 62 para obtener más información. Si no se especifica esta opción, se elige el método de acceso a tablas predeterminado para la nueva vista materializada. Consulta la default_table_access_method para obtener más información.

WITH ( parámetro_almacenamiento [= valor] [, ... ] )

Esta cláusula especifica parámetros de almacenamiento opcionales para la nueva vista materializada; consulta la Parámetros de almacenamiento en la documentación de CREATE TABLE para obtener más información. Todos los parámetros admitidos para CREATE TABLE también se admiten para CREATE MATERIALIZED VIEW. Consulta la CREATE TABLE para obtener más información.

TABLESPACE nombre_tablespace

El nombre_tablespace es el nombre del tablespace en el que se va a crear la nueva vista materializada. Si no se especifica, se consulta default_tablespace.

consulta

Un comando SELECT, TABLE, o VALUES. Esta consulta se ejecutará dentro de una operación con restricciones de seguridad; en particular, las llamadas a funciones que a su vez creen tablas temporales fallarán. Además, mientras se ejecuta la consulta, el search_path se cambia temporalmente a pg_catalog, pg_temp.

WITH [ NO ] DATA

Esta cláusula especifica si la vista materializada debe o no llenarse de datos en el momento de su creación. Si no, la vista materializada se marcará como no escaneable y no se podrá consultar hasta que se utilice REFRESH MATERIALIZED VIEW.

Compatibilidad

CREATE MATERIALIZED VIEW es una extensión de PostgreSQL.

Consulte también

ALTER MATERIALIZED VIEW, CREATE TABLE AS, CREATE VIEW, DROP MATERIALIZED VIEW, REFRESH MATERIALIZED VIEW