PostgreSQLLa base de données la plus sophistiquée au monde.
Documentation PostgreSQL 17.1 » Référence » Commandes SQL » CREATE MATERIALIZED VIEW

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 [, ...] ) ]
    [ USING méthode ]
    [ 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 la clause 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.

CREATE MATERIALIZED VIEW nécessite le droit CREATE sur le schéma utilisé par la vue matérialisée.

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. Le nom doit être distinct du nom des autres relations (table, séquence, index, vue, vue matérialisée, ou table externe) du même schéma.

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.

USING méthode

Cette clause optionnelle indique la méthode d'accès à la table à utiliser pour stocker le contenu de la nouvelle vue matérialisée ; la méthode doit être une méthode d'accès de type TABLE. Voir Chapitre 61 pour plus d'informations. Si cette option n'est pas spécifiée, la méthode d'accès par défaut à la table est choisie pour la nouvelle vue matérialisée. Voir default_table_access_method pour plus d'informations.

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 dans la documentation de CREATE TABLE pour plus d'informations. Tous les paramètres acceptés par CREATE TABLE sont aussi acceptés par CREATE MATERIALIZED VIEW. Voir CREATE TABLE 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, TABLE, ou VALUES. 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. De plus, pendant que la requête est en cours d'exécution, le search_path est modifié temporairement en pg_catalog, pg_temp.

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.