Outils
Introduction
PostgreSQL ne fournit pas d’outil d’administration graphique, seulement des outils en lignes de commandes comme psql. Si psql est très efficace et qu’il doit faire partie de la boîte à outils du DBA, ne serait-ce que parce qu’il est toujours disponible dès que PostgreSQL est installé, il est néanmoins utile de disposer d’outils graphiques, notamment pour les utilisateurs qui souhaitent accéder aux données sans devoir maîtriser la ligne de commande.
De plus, il existe des outils d’administration en mode console et complémentaires à ce qui est livré avec PostgreSQL. Enfin, les outils de monitoring et supervision courants permettent d’intégrer la supervision de PostgreSQL.
L’outil graphique : pgAdmin III
L’outil pgAdmin III est un outil graphique historique lié à PostgreSQL. À partir de la version 10, cet outil est délaissé par les développeurs, au profit de la version PgAdmin IV. Du fait que la réécriture de PgAdmin IV n’a pas convaincu les utilisateurs, il existe une adaptation de PgAdmin III pour PostgreSQL 10 intégré dans la distribution pgc uniquement pour Windows, voir chapitre Installation.
L’outil Dbeaver
Dbeaver est un client SQL universel, écrit en Java et basé sur Eclipse. Il permet de se connecter à un grand nombre de systèmes de bases de données relationnelles, dont PostgreSQL. Étant écrit en Java, il utilise le pilote JDBC pour se connecter. S’il connaît de nombreux systèmes de bases de données, il doit néanmoins télécharger le pilote JDBC lors de la configuration initiale de la connexion à PostgreSQL.
L’outil est téléchargeable à l’adresse suivante : https://dbeaver.jkiss.org/
L’outil permet de représenter un modèle graphique à partir des tables et des clés étrangères existantes :
Il permet aussi de lancer des requêtes à partir d’un éditeur de requêtes SQL. Il est possible de gérer les ordres SQL depuis des fichiers, chargés depuis le gestionnaire de scripts. Les données affichées dans la grille sont éditables directement, et l’outil gère implicitement les ajouts et mises à jour effectués :
L’outil SQLTabs
SQLTabs est un client SQL disposant de nombreuses fonctionnalités intéressantes en termes d’ergonomie, tant sur le plan de la découverte du modèle de données que de l’auto-complétion des requêtes SQL, jusqu’à la présentation des résultats et des plans d’execution.
L’outil est téléchargeable à l’adresse suivante : http://www.sqltabs.com/
L’écran suivant montre l’outil, connecté grace à l’URI de la barre d’adresse, puis une requête SQL en cours d’édition et les objets de la base dans la zone de présentation :
L’écran suivant montre deux requêtes, dont les résultats sont présentés successivement dans la zone de présentation :
De plus, l’outil sait interpréter les résultats pour produire des graphiques, comme dans l’exemple suivant :
Enfin, il est possible d’obtenir un affichage visuel des plans d’exécution :
De nombreuses options d’affichage graphique et de personnalisation de la zone de présentation sont détaillées dans la documentation de l’outil.
L’outil PGWatch2
PGWatch2 est une solution de supervision, permettant de collecter les métriques depuis le catalogue de PostgreSQL et de les insérer dans une base de données de type « timeseries », comme par exemple InfluxDB, pour finalement les afficher dans Grafana, depuis des tableaux de bord fournis par l’outil. Même s’il est possible d’installer les différents composants individuellement, ce qui est le cas des systèmes où InfluxDB et Grafana sont déjà utilisés, l’outil fournit une image Docker qui peut être suffisante pour évaluer l’outil.
PGWatch2 est téléchargeable à l’adresse suivante : https://github.com/cybertec-postgresql/pgwatch2
La copie d’écran suivante montre le résultat d’un tableau de bord de Grafana avec des données collectées :
L’administrateur de base de données dispose alors de toute la richesse de Grafana pour explorer les données collectées et ainsi comprendre le comportement de PostgreSQL.