CREATE MATERIALIZED VIEW

CREATE MATERIALIZED VIEW — définir une nouvelle vue matérialisée

Synopsis

CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] nom_table
    [ (nom_colonne [, ...] ) ]
    [ WITH ( paramètre_stockage [= valeur] [, ... ] ) ]
    [ TABLESPACE nom_tablespace ]
    AS requête
    [ WITH [ NO ] DATA ]
  

Description

CREATE MATERIALIZED VIEW définit une vue matérialisée à partir d'une requête. La requête est exécutée et utilisée pour peupler la vue à l'exécution de la commande (sauf si WITH NO DATA est utilisé) et peut être rafraichi plus tard en utilisant REFRESH MATERIALIZED VIEW.

CREATE MATERIALIZED VIEW est similaire à CREATE TABLE AS, sauf qu'il se rappelle aussi de la requête utilisée pour initialiser la vue pour qu'elle puisse être rafraichie à la demande. Une vue matérialisée a plusieurs propriétés communes avec une table mais il n'y a pas de support pour les vues matérialisées temporaires ou avec génération automatique d'OID.

Paramètres

IF NOT EXISTS

Ne renvoie pas une erreur si une vue matérialisée portant le même nom existe déjà. Un message d'avertissement est renvoyé dans ce cas. Notez qu'il n'y a aucune garantie que la vue matérialisée existante ressemble à celle qui aurait dû être créée.

nom_table

Le nom de la vue matérialisée (potentiellement qualifié du schéma) à créer.

nom_colonne

Le nom d'une colonne dans la nouvelle vue matérialisée. Si les noms des colonnes ne sont pas fournis, ils sont pris des noms de colonne en sortie de la requête.

WITH ( paramètre_stockage [= valeur] [, ... ] )

Cette clause indique les paramètres de stockage optionnels pour la nouvelle vue matérialisée ; voir Paramètres de stockage pour plus d'informations. Tous les paramètres supportés pour CREATE TABLE sont aussi supportés supported par CREATE MATERIALIZED VIEW à l'exception d'OIDS. Voir CREATE TABLE(7) pour plus d'informations.

TABLESPACE nom_tablespace

nom_tablespace est le nom du tablespace dans lequel la nouvelle vue matérialisée sera créée. S'il n'est pas indiqué, default_tablespace est consulté.

query

Une commande SELECT(7), TABLE ou VALUES(7). Cette requête sera exécutée dans une opération restreinte au niveau sécurité. En particulier, les appels aux fonctions qui elles-même créent des tables temporaires échoueront.

WITH [ NO ] DATA

Cette clause indique si la vue matérialisée doit être peuplée ou non lors de sa création. Si elle ne l'est pas, la vue matérialisée sera marquée comme non parcourable et ne pourra pas être lu jusqu'à ce que REFRESH MATERIALIZED VIEW soit utilisé.

Compatibilité

CREATE MATERIALIZED VIEW est une extension PostgreSQL™.

Voir aussi

ALTER MATERIALIZED VIEW(7), CREATE TABLE AS(7), CREATE VIEW(7), DROP MATERIALIZED VIEW(7), REFRESH MATERIALIZED VIEW(7)