Voici quelques façons d'afficher une liste de bases de données lors de l'utilisation de psql
avec PostgreSQL.
La première option peut être utilisée lorsque nous sommes déjà connectés à PostgreSQL. La deuxième option peut être utilisée lorsque nous n'avons pas actuellement de connexion à Postgres.
Le \l
et \list
Commandes
Nous pouvons utiliser soit \l
ou \list
pour renvoyer une liste de bases de données.
La syntaxe ressemble à ceci :
\l[+] or \list[+] [ pattern ]
Les parties entre crochets []
sont facultatifs.
Ainsi, le moyen le plus rapide/le plus simple d'obtenir une liste de bases de données est le suivant :
\l
Exemple de résultat :
List of databases +--------------+----------+----------+-------------+-------------+-----------------------+ | Name | Owner | Encoding | Collate | Ctype | Access privileges | +--------------+----------+----------+-------------+-------------+-----------------------+ | barney | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | | krankykranes | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | | music | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | | pagila | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | | pethotel | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | | postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | | template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +| | | | | | | postgres=CTc/postgres | | template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +| | | | | | | postgres=CTc/postgres | +--------------+----------+----------+-------------+-------------+-----------------------+
Juste pour être clair, j'ai exécuté cette commande alors que j'étais déjà connecté à PostgreSQL.
Le même résultat peut être obtenu en utilisant \list
au lieu de \l
.
On peut ajouter un signe plus (+
) pour renvoyer plus d'informations sur chaque table :
\l+
Exemple de résultat :
List of databases +--------------+----------+----------+-------------+-------------+-----------------------+---------+------------+--------------------------------------------+ | Name | Owner | Encoding | Collate | Ctype | Access privileges | Size | Tablespace | Description | +--------------+----------+----------+-------------+-------------+-----------------------+---------+------------+--------------------------------------------+ | barney | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 8473 kB | pg_default | | | krankykranes | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 8289 kB | pg_default | | | music | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 8225 kB | pg_default | | | pagila | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 16 MB | pg_default | | | pethotel | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 8177 kB | pg_default | | | postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 8097 kB | pg_default | default administrative connection database | | template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +| 7905 kB | pg_default | unmodifiable empty database | | | | | | | postgres=CTc/postgres | | | | | template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +| 7905 kB | pg_default | default template for new databases | | | | | | | postgres=CTc/postgres | | | | +--------------+----------+----------+-------------+-------------+-----------------------+---------+------------+--------------------------------------------+
Nous obtenons donc quelques colonnes supplémentaires avec des informations sur la taille, l'espace de table, etc.
Nous pouvons également utiliser un modèle pour renvoyer uniquement les bases de données qui correspondent au modèle :
\l krank*
Exemple de résultat :
List of databases +--------------+----------+----------+-------------+-------------+-------------------+ | Name | Owner | Encoding | Collate | Ctype | Access privileges | +--------------+----------+----------+-------------+-------------+-------------------+ | krankykranes | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | +--------------+----------+----------+-------------+-------------+-------------------+
Le -l
et --list
Options de connexion
Lorsque nous ne sommes pas actuellement connectés à Postgres, nous pouvons nous connecter en utilisant le -l
ou --list
possibilité de connexion.
Lorsqu'une de ces options est spécifiée, psql
se connectera à Postgres, listera toutes les bases de données disponibles, puis quittera.
Il peut être utilisé des manières suivantes :
-l
--list
Ainsi, au lieu d'utiliser la barre oblique inverse, il s'agit soit d'un trait d'union, soit de deux traits d'union (selon celui que vous utilisez).
Pour utiliser cette option, ouvrez une nouvelle fenêtre de terminal ou une invite de commande et tapez ce qui suit :
psql -l
En supposant qu'il se trouve dans votre variable PATH, cela devrait lancer PostgreSQL, répertorier toutes les bases de données, puis quitter.
Exemple de résultat :
List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges --------------+----------+----------+-------------+-------------+----------------------- barney | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 | krankykranes | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | music | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 | pagila | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | pethotel | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 | postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres
La même chose peut être appliquée en utilisant --list
:
psql --list