PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Lister les tables dans un schéma PostgreSQL

Dans tous les schémas :

=> \dt *.*

Dans un schéma particulier :

=> \dt public.*

Il est possible d'utiliser des expressions régulières avec certaines restrictions

\dt (public|s).(s|t)
       List of relations
 Schema | Name | Type  | Owner 
--------+------+-------+-------
 public | s    | table | cpn
 public | t    | table | cpn
 s      | t    | table | cpn

Les utilisateurs avancés peuvent utiliser des notations d'expressions régulières telles que des classes de caractères, par exemple [0-9] pour correspondre à n'importe quel chiffre. Tous les caractères spéciaux des expressions régulières fonctionnent comme spécifié dans la section 9.7.3, à l'exception de . qui est pris comme séparateur comme mentionné ci-dessus, * qui est traduit par la notation d'expression régulière .* , ? qui est traduit en . , et $ qui correspond littéralement. Vous pouvez émuler ces caractères de modèle au besoin en écrivant ? pour . , (R+|) pour R* , ou (R|) pour R? . $ n'est pas nécessaire en tant que caractère d'expression régulière car le modèle doit correspondre au nom entier, contrairement à l'interprétation habituelle des expressions régulières (en d'autres termes, $ est automatiquement ajouté à votre modèle). Écrivez * au début et/ou à la fin si vous ne souhaitez pas que le motif soit ancré. Notez qu'entre guillemets doubles, tous les caractères spéciaux d'expression régulière perdent leur signification spéciale et sont mis en correspondance littéralement. De plus, les caractères spéciaux des expressions régulières correspondent littéralement dans les modèles de nom d'opérateur (c'est-à-dire l'argument de \do ).