Une vue est une table virtuelle, c'est-à-dire dont les données ne sont pas stockées dans une table de la base de données, et dans laquelle il est possible de rassembler des informations provenant de plusieurs tables. On parle de « vue » car il s'agit simplement d'une représentation des données dans le but d'une exploitation visuelle. Les données présentes dans une vue sont définies grâce à une clause SELECT.
Une vue est une définition dynamique dans le sens suivant : si on modifie, ou si on ajoute ou si on supprime des enregistrements, chaque exécution de la vue comprendra ces modifications.
La norme SQL propose un ensemble important de restrictions pour la modification ou l'insertion ou la modification des données dans les vues. Les systèmes de gestion de base de données ont aussi chacun leur implantation de ce concept et chacun leurs contraintes et restrictions. En particulier, peu d'opérations sont autorisées dès qu'une vue porte sur plusieurs tables ; aucune n'est possible si la vue comporte des opérateurs d'agrégation.
En PostgreSQL les vues ne sont que consultables par des instructions SELECT. Aucune autre opération n'est possible. Par contre, c'est la notion propre à PostgreSQL de règles qui assure cette fonctionnalité. Cette notion s'avère plus souple et puissante que les restrictions communément appliquées aux SGBD classiques.
La commande CREATE VIEW permet de créer une vue relative à une ou plusieurs tables de la base. Elle est suivie de AS puis d'une requête qui la définit.
Dans la version actuelle de PostgreSQL une vue ne peut pas servir à mettre à jour une table.