Cours
PostgreSQL est l'un des SGBDR open source les plus réputés. L'installation par défaut de PostgreSQL fournit une invite psql, l'interface en ligne de commande de PostgreSQL. pgAdmin, quant à lui, propose une interface graphique pour manipuler les bases de données PostgreSQL. Avec psql, au-delà de l'exécution de requêtes SQL, vous disposez de nombreuses fonctionnalités supplémentaires : c'est ce que vous allez découvrir dans ce tutoriel.
Vous commencerez par apprendre à récupérer la liste des bases de données présentes sur un serveur PostgreSQL, puis vous passerez progressivement à des commandes plus avancées. C'est parti.
Remarque : ce tutoriel suppose que vous êtes déjà à l'aise avec SQL (le langage standard d'interaction avec les SGBDR) et PostgreSQL. N'hésitez pas à revoir les bases via ces ressources :
Avant de commencer
Pour suivre ce tutoriel, il peut être utile de disposer d’une base de données prête à l’emploi. Vous pouvez utiliser ce fichier de sauvegarde et le restaurer sur votre serveur PostgreSQL. Pour savoir comment faire, lisez cet article.
Si vous vous demandez ce qu’est psql, cet extrait du site officiel de PostgreSQL le présente très clairement :
psql est une interface en mode texte pour PostgreSQL. Elle vous permet de saisir des requêtes de manière interactive, de les envoyer à PostgreSQL et d’en afficher les résultats. Vous pouvez également fournir l’entrée depuis un fichier ou des arguments de ligne de commande. En outre, psql propose de nombreuses méta-commandes et divers comportements proches d’un shell pour faciliter l’écriture de scripts et l’automatisation d’un large éventail de tâches.
Comme indiqué, vous allez apprendre les dix commandes psql les plus utiles. Avant d’aller plus loin, assurez-vous que PostgreSQL est installé (idéalement en version >= 9.4). Cet article vous guidera pour l’installation.
Étape suivante : afficher cette invite :

Sous Windows, tapez simplement psql dans la barre de recherche du menu Démarrer pour l’ouvrir. Il s’agit du shell psql qui vous donne l’invite psql. Comme vous le voyez, l’invite est positionnée sur la base par défaut postgres. Voyons si d’autres bases existent sur ce serveur PostgreSQL local.
1. Lister les bases de données disponibles
Utilisez la commande \\l pour obtenir la liste de toutes les bases de données disponibles.

Comme vous pouvez le voir, j’ai les bases suivantes :
- datacamp_tutorials
- postgres
Vous pouvez ignorer le reste des entrées. Passons maintenant à la liste des tables disponibles dans la base courante.
2. Lister les tables disponibles dans la base actuelle
\\dt s’en charge :
![]()
Malheureusement, la base postgres ne contient aucune table (dans la littérature, on parle de relations). Passons à une autre base pour voir si elle en contient.
3. Basculer vers une autre base
La syntaxe : \\c <database_name>. Par exemple, pour passer à la base datacamp_tutorials, saisissez :
`\c datacamp_tutorials`

Vérifions maintenant la présence de tables avec la commande \\dt :

Comme vous le voyez, la base datacamp_tutorials contient les quatre tables suivantes :
- countries
- route_table
- station_code
- train_table
Supposons que vous souhaitiez afficher la structure d’une table en particulier. On parle souvent de décrire une table. Voyons comment faire.
4. Décrire une table
La syntaxe générale est \\d <table_name>. Par exemple, dans la base datacamp_tutorials, pour décrire la table countries, utilisez \\d countries :

Comme vous le voyez, \\d countries renvoie de précieuses informations : noms des colonnes, types de données, modificateurs, etc. Vous souhaitez peut-être connaître la version de votre moteur PostgreSQL, par exemple pour la documentation. Voici comment faire.
5. Connaître la version de PostgreSQL
SELECT version(); vous donne l’information :

Imaginons que vous ayez oublié la dernière commande exécutée dans le shell psql au milieu d’autres actions, alors qu’elle était importante. Pas de souci : vous pouvez la récupérer facilement.
6. Réafficher la dernière commande exécutée
\\g est prévu pour cela :

Comme vous le voyez, \\g réexécute automatiquement la commande précédente. Vous êtes peut-être curieux de lister toutes les commandes psql disponibles pour votre moteur PostgreSQL. Voyons cela.
7. Lister toutes les commandes disponibles
Obtenez la liste complète des commandes psql avec \\? :

Vous souhaitez connaître les syntaxes des différentes instructions SQL comme SELECT, ALTER, DROP, etc. ? Vous pouvez le faire directement depuis l’invite psql.
8. Connaître les syntaxes des instructions PostgreSQL
Par exemple, pour en savoir plus sur DROP, utilisez \\h DROP TABLE :

Supposons que vous vouliez analyser les temps d’exécution des requêtes. Voyons comment faire depuis le shell psql.
9. Connaître le temps d'exécution des requêtes
Pour cela, activez la commande \\timing. Admettons que vous souhaitiez chronométrer la requête suivante :
select * from train_table limit 10;
Commencez par saisir \\timing :
![]()
Une fois l’option activée, exécutez votre requête :

Comme vous le voyez, le temps d’exécution de la requête est de 0,786 ms. Il peut varier selon les machines. Passons à la dernière commande psql, qui ouvre votre dernière commande/requête dans un éditeur de texte.
10. psql + éditeur de texte
En exécutant \\e, la dernière commande/requête est ouverte dans un éditeur de texte, que vous pouvez modifier et relancer.

Comme vous le voyez, la commande e ouvre le bloc-notes Notepad avec la requête précédemment exécutée.
Conclusion
Dans ce tutoriel, vous avez découvert dix commandes psql très pratiques pour vos tâches quotidiennes liées aux bases de données. Pour aller plus loin en SQL, essayez ces cours DataCamp :