Documentation PostgreSQL 9.6.24 > Référence > Commandes SQL > CREATE MATERIALIZED VIEW | |
CREATE LANGUAGE | CREATE OPERATOR |
CREATE MATERIALIZED VIEW — définir une nouvelle vue matérialisée
CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] nom_table [ (nom_colonne [, ...] ) ] [ WITH ( paramètre_stockage [= valeur] [, ... ] ) ] [ TABLESPACE nom_tablespace ] AS requête [ WITH [ NO ] DATA ]
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.
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.
Le nom de la vue matérialisée (potentiellement qualifié du schéma) à créer.
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.
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.
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é.
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.
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é.