Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. PostgreSQL
  3. Outils
Extrait - PostgreSQL Principes de base de l'utilisation de la base de données
Extraits du livre
PostgreSQL Principes de base de l'utilisation de la base de données Revenir à la page d'achat du livre

Outils

Introduction

Les outils présentés dans ce chapitre permettent d’accéder à une instance PostgreSQL, d’y lancer des requêtes SQL et d’y recevoir les données. Parmi les fonctionnalités essentielles, la plupart des outils permettent de naviguer dans les bases de données, parmi les schémas, les tables et les fonctions.

L’utilisation d’un outil graphique facilite l’accès à ces fonctionnalités, néanmoins, l’outil psql, livré avec PostgreSQL et fonctionnant en ligne de commandes, permet un accès simple et direct aux bases de données, tout en disposant de nombreuses et riches fonctionnalités.

Les outils sont toujours disponibles dans plusieurs types de systèmes d’exploitation, Windows, GNU/Linux et parfois MacOSX. Dans tous les cas, il est possible de se connecter à une instance PostgreSQL hébergée dans un autre système.

Les outils présentés ici sont installables de façon autonome, sans dépendance au serveur PostgreSQL lui-même.

L’outil en ligne de commandes psql

Cet outil est livré avec le serveur de bases de données, mais il est possible de n’installer que la partie client, par exemple sur son poste de travail, afin d’accéder à l’instance PostgreSQL distante.

L’outil ouvre une session dans une base de donnés avec les options suivantes :

-h : nom ou adresse IP du système hébergeant l’instance PostgreSQL, par exemple 192.168.1.36, ou localhost.

-p : numéro du port TCP sur lequel écoute PostgreSQL, par défaut 5432.

-U : nom du rôle, appelé aussi utilisateur. Par défaut, l’outil utilise le nom de l’utilisateur du système d’exploitation.

-d : nom de la base de données. Par défaut, l’outil utilise le nom d’utilisateur pour désigner la base de données.

L’exemple suivant se connecte en tant qu’utilisateur postgres à la base de données du même nom, en utilisant l’adresse IP du serveur sur lequel fonctionne l’instance PostgreSQL :

psql -h 192.168.1.36 -U postgres -d postgres 
psql (12.1 (Debian 12.1-2)) 
postgres=# 

L’invite de commandes ainsi obtenue permet de saisir des requêtes SQL ou des commandes spécifiques à l’outil, parmi les quelques exemples suivants :

  • \l : liste les bases de données

  • \dn : liste les schémas...

PgAdmin 4

L’outil PgAdmin 4 prend la suite de Pgadmin 3, qui était un client lourd, et qui est désormais abandonné. PgAdmin 3 n’est compatible qu’avec les versions 9.6 et inférieures de PostgreSQL.

PgAdmin 4 est maintenant un client web, c’est-à-dire qu’on l’utilise depuis un navigateur web. À l’installation, un facilitateur met en place un serveur web local et démarre une session dans le navigateur web de l’utilisateur.

Sous Windows, l’outil est installé en même temps que PostgreSQL. Dans les distributions GNU/Linux, l’outil est disponible dans le même dépôt que celui ayant servi à installer PostgreSQL, avec les commandes habituelles du système. Dans un système Debian :

apt install pgadmin4 

Dans un système RedHat :

yum install pgadmin4 

L’outil s’utilise ensuite comme n’importe quelle application dans la session de l’utilisateur du système d’exploitation. Au premier lancement, l’outil demande un mot de passe, qui ne correspond pas à celui de la session dans l’instance PostgreSQL, mais à celui de la session dans le serveur PgAdmin4, qui est lancé en arrière-plan, dans le système d’exploitation de l’utilisateur.

Par défaut, l’interface utilisateur est affichée en anglais. Pour obtenir...

DBeaver

L’outil DBeaver est de type « client lourd », écrit en Java et basé sur Eclipse. Les utilisateurs habitués à Eclipse sont donc familiers de l’interface. L’outil permet de se connecter à un grand nombre de systèmes de gestion de bases données relationnelles dans sa version communautaire, et les développeurs proposent une version sous licence payante permettant de se connecter à des systèmes de bases de données non relationnelles. L’installation est simplifiée par un installeur embarquant toutes les dépendances nécessaires, et disponible pour les systèmes les plus communs à l’URL suivante : https://dbeaver.io/download/

Le développement est très actif et de nouvelles versions sont publiées très régulièrement. L’outil, une fois installé, vérifie régulièrement la publication d’une nouvelle version et en propose le téléchargement.

L’installation sous Windows est très simple et ne nécessite pas d’option particulière, pas plus que sous RedHat ou Debian, où le paquet téléchargé s’installe tout simplement à travers le gestionnaire de paquets de la distribution.

La première étape consiste à créer la connexion à...

OmniDB

L’outil OmniDB est une réécriture en langage Python d’un projet pré-existant, avec comme objectif d’exploiter au mieux les différentes capacités de PostgreSQL, tout en étant rapide et avec une interface légère et fluide. L’outil permet aussi de se connecter à Oracle et MySQL/MariaDB.

Il s’agit d’un outil web, utilisable depuis un navigateur web se connectant à un serveur web dédié, similaire en cela à PgAdmin 4. L’installation est facilitée par la mise à disposition de paquets dédiés aux distributions Linux et un installateur pour Windows, tous téléchargeables à l’URL suivante : https://omnidb.org/en/downloads-en

Les paquets omnidb-app permettent l’installation de l’outil, intégrant la partie serveur et l’intégration dans la session graphique de l’utilisateur.

L’installation sous Windows est très simple et ne nécessite pas d’options particulières, pas plus que sous RedHat ou Debian, où le paquet téléchargé s’installe tout simplement à travers le gestionnaire de paquets de la distribution.

Comme pour les autres outils, la première étape consiste à créer une connexion vers l’instance PostgreSQL, en cliquant sur l’outil Connections...