PostgreSQL, également connu sous le nom de Postgres, est un système de base de données objet-relationnel open source qui vous permet de stocker et de mettre à l’échelle des charges de travail de données complexes en toute sécurité. Il utilise et étend SQL, le langage qui permet aux utilisateurs d’accéder aux bases de données.

Pour gérer efficacement un serveur de base de données Postgres, vous devez connaître votre environnement et ce que le serveur stocke. Il peut arriver que vous deviez répertorier les bases de données fonctionnant sur votre serveur, récupérer des informations à leur sujet et vous y connecter. Vous pouvez effectuer ces tâches en utilisant l’interface PostgreSQL ou un outil graphique comme Adminer pour visualiser et manipuler facilement ces informations.

Si votre base de données n’est qu’une parmi d’autres sur le serveur Postgres, vous devrez peut-être filtrer la liste pour la trouver. Ensuite, vous aurez souvent besoin d’une vue d’ensemble des données qu’elle contient, ce qui nécessite une liste de ses tables. Ce guide pratique explique comment dresser la liste des bases de données et des tables dans Postgres.

Pré-requis

Pour suivre ce guide, assurez-vous de disposer des éléments suivants :

  • Un serveur de base de données Postgres avec une ou plusieurs bases de données installées.
  • Les identifiants d’accès au super-utilisateur pour un compte sur le serveur de base de données.
  • Vous êtes familiarisé avec les commandes SQL de base, telles que les instructions SELECT et les clauses WHERE.

Vous devez également disposer de quelques bases de données et tables.

Comment se connecter au serveur de base de données PostgreSQL ?

La connexion à un serveur de base de données PostgreSQL implique l’accès à sa version SQL unique, appelée psql, à travers le Shell SQL disponible sur votre bureau après l’installation.

En utilisant psql et le Shell SQL, vous pouvez gérer l’environnement de votre base de données. Alors que la plupart des commandes SQL manipulent les données et les tables, les méta-commandes psql gèrent les tâches d’administration de la base de données. Par exemple, créez ou supprimez des bases de données à l’aide de méta-commandes, et ajoutez des tables ou récupérez des données à l’aide de commandes SQL.

Les méta-commandes psql se distinguent par le préfixe backslash (\), et nombre d’entre elles ont des versions plus courtes. Par exemple, \help et \h ont la même fonction.

Pour exécuter des instructions SQL et des méta-commandes, connectez-vous à votre serveur via SQL Shell. Vous serez invité à fournir les informations suivantes

  • Le nom de la base de données cible
  • Votre nom d’utilisateur
  • Votre mot de passe

Après avoir saisi vos informations, une invite apparaît, vous permettant de saisir des commandes SQL et des méta-commandes :

Une connexion réussie dans psql.
Une connexion réussie dans psql.

Une fois connecté, vous pouvez :

  • Lister les bases de données disponibles
  • Vous connecter à une base de données spécifique
  • Filtrer la liste des bases de données
  • Passer d’une base de données à l’autre
  • Lister les tables d’une base de données

Comment afficher les bases de données

Sur votre serveur Postgres, la gestion de plusieurs bases de données est une pratique courante. Chaque base de données réside dans un répertoire unique, stocké séparément sur le serveur.

Pour gérer efficacement votre serveur de base de données, vous pouvez avoir besoin de récupérer des informations spécifiques, comme une liste des bases de données du serveur et de leurs détails pertinents. Pour dresser la liste des bases de données de votre serveur Postgres à l’aide de psql, connectez-vous à votre environnement Postgres dans SQL Shell.

Une fois connecté, saisissez la méta-commande \list dans la ligne de commande. SQL Shell affiche alors une vue d’ensemble des bases de données présentes dans l’environnement, comme dans l’image ci-dessous :

Liste des bases de données dans psql.
Liste des bases de données dans psql.

Pour une commande plus rapide, vous pouvez utiliser la forme abrégée \l, qui permet d’obtenir la même liste complète de bases de données.

Filtrer des bases de données dans un environnement Postgres

Lorsque vous naviguez dans un environnement comportant de nombreuses bases de données, il est essentiel d’en identifier une en particulier. SQL Shell vous permet d’y parvenir en incorporant les caractéristiques de la base de données dans votre commande.

Dans les environnements Postgres, les informations relatives aux bases de données sont stockées dans la table pg_database. Par exemple, si vous souhaitez récupérer et filtrer les bases de données contenant le terme « test », exécutez la requête suivante :

SELECT * FROM pg_database WHERE datname = 'test_data';

SQL Shell répertorie alors les bases de données qui correspondent à vos critères :

Liste des bases de données dont le nom contient la chaîne test.
Liste des bases de données dont le nom contient la chaîne test.

Cette méthode d’énumération des bases de données et de filtrage des résultats étant basée sur le langage SQL, vous pouvez construire des requêtes complexes pour créer des listes de bases de données filtrées. Toutefois, cela nécessite une certaine familiarité avec le langage SQL et les métadonnées Postgres.

Comment se connecter aux bases de données et changer de base de données

Lors de la navigation dans les bases de données à l’aide de SQL Shell et de PSQL, la connexion ou le passage d’une base de données à une autre est un processus simple, à condition que vous connaissiez le nom de la base de données cible.

Pour vous connecter ou passer à une base de données, connectez-vous à votre environnement Postgres dans SQL Shell.

Ensuite, sur la ligne de commande, saisissez la méta-commande \connect, suivie du nom de la base de données de destination. Par exemple, pour vous connecter à une base de données nommée test_data, utilisez la commande \connect test_data.

SQL Shell affiche le message suivant après la connexion à la base de données :

Connexion réussie à la base de données test_data.
Connexion réussie à la base de données test_data.

Vous pouvez également utiliser la commande courte \c pour obtenir les mêmes résultats.

Comment lister les tables d’une base de données

Une fois que vous vous êtes connecté à une base de données, vous pouvez dresser la liste des tables qu’elle contient. Pour cela, saisissez la commande \dt.

SQL Shell répertorie toutes les tables de la base de données :

Liste des tables de la base de données actuelle.
Liste des tables de la base de données actuelle.

Accéder aux bases de données et aux tables avec Adminer

SQL Shell n’est qu’un outil parmi d’autres pour administrer vos bases de données Postgres. Un autre outil est Adminer, qui fournit une interface utilisateur graphique (GUI) simple pour gérer votre serveur de base de données. En outre, Adminer fonctionne dans tout environnement où vous avez installé PHP.

Vous pouvez installer et exécuter Adminer indépendamment, mais c’est aussi l’une des nombreuses fonctionnalités de la suite DevKinsta.

Une fois Adminer installé, exécutez-le et entrez les informations d’identification de votre environnement Postgres :

La page de connexion d'Adminer.
La page de connexion d’Adminer.

Vous pouvez utiliser Adminer pour obtenir la liste des bases de données de votre environnement Postgres. Lorsque vous vous connectez à votre serveur de base de données, une liste de ses bases de données s’affiche :

Adminer affichant une liste de toutes les bases de données.
Adminer affichant une liste de toutes les bases de données.

Pour vous connecter à la base de données de votre choix, sélectionnez-la dans la liste. Adminer affiche alors une liste des tables, des vues, des routines, des séquences et des types d’utilisateurs pour la base de données que vous avez sélectionnée.

Les informations relatives à la base de données test_data.
Les informations relatives à la base de données test_data.

Vous pouvez également sélectionner une base de données dans le menu déroulant DB sur le côté gauche de la page :

Liste déroulante des bases de données disponibles.
Liste déroulante des bases de données disponibles.

Résumé

Pour gérer avec succès les bases de données de votre environnement Postgres, vous devez être en mesure de visualiser, de filtrer et d’interagir avec les données contenues avec un minimum d’effort. Vous pouvez opter pour la ligne de commande SQL Shell, mais la facilité d’un outil GUI comme Adminer peut s’intégrer plus facilement dans votre flux de travail.

Pour les développeurs WordPress, DevKinsta est un allié puissant, offrant l’accès à Adminer ainsi qu’à une suite d’autres outils conçus pour rationaliser la gestion des bases de données. Pour gérer facilement vos bases de données Postgres, découvrez DevKinsta – c’est gratuit pour toujours !

Jeremy Holcombe

Kinsta

Content & Marketing Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems ;).