Datashelter Logo
Listing PostgreSQL databases from the Command Line

Listing PostgreSQL databases from the Command Line

Publié le 16 décembre 2024

Par Équipe Datashelter

3 min de lecture

databasespostgresqlcli

Pré-requis

Avant de commencer, assurez-vous :

  1. D'avoir PostgreSQL installé sur votre machine.
  2. D'avoir accès à un utilisateur PostgreSQL avec les permissions nécessaires (par exemple, postgres ou un utilisateur avec des privilèges administratifs).

Étape 1 : Accéder à PostgreSQL via le terminal

Pour accéder au terminal PostgreSQL, ouvrez votre terminal ou invite de commande et exécutez la commande suivante :

psql -U [nom_utilisateur]
  • Remplacez [nom_utilisateur] par votre nom d'utilisateur PostgreSQL (par défaut, il s'agit souvent de postgres).
  • Une fois la commande exécutée, si un mot de passe est requis, le système vous le demandera. Entrez-le, puis appuyez sur Entrée.

💡Astuce: Si vous utilisez un compte utilisateur système ayant les droits PostgreSQL (par exemple, postgres), vous pouvez vous connecter directement sans mot de passe avec la commande suivante : sudo -u postgres psql

Si la connexion est réussie, vous verrez une invite PostgreSQL semblable à ceci :

postgres=#

Étape 2 : Lister les bases de données

Une fois connecté, utilisez la commande suivante pour afficher toutes les bases de données disponibles :

\l

Cette commande affiche une liste détaillée des bases de données, incluant leur nom, leur propriétaire, l'encodage, les privilèges d'accès, etc. Par exemple :

List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
 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
 my_db     | user1    | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
  • postgres : La base de données par défaut pour l'administration.
  • template0 et template1 : Bases de données système utilisées pour créer de nouvelles bases.
  • Bases spécifiques : Toute base que vous avez créée ou utilisée apparaîtra également ici.

Si vous souhaitez une liste plus concise, utilisez cette commande alternative :

SELECT datname FROM pg_database;

Elle retournera uniquement le nom des bases :

datname
-----------
 postgres
 template0
 template1
 my_db
(4 rows)

Étape 3 : Quitter PostgreSQL

Une fois que vous avez terminé, tapez la commande suivante pour quitter PostgreSQL :

\q

Astuce : Utiliser une commande rapide

Si vous souhaitez lister les bases de données sans entrer dans l'interface interactive de PostgreSQL, utilisez cette commande dans le terminal :

psql -U [nom_utilisateur] -c "\l"

Cela affichera immédiatement la liste des bases de données sans nécessiter une session interactive.

-
Datashelter

Encrypted, immutable backups.
Set up in 10 minutes.

WORM storage, missed-backup alerts and one-command restores. No scripts, no cron jobs.

No credit card · Free plan available