Présentation et installation de PostgreSQL

Informations[1]

Objectif

  • Installer et mettre en service PostgreSQL sur un système Linux.

Mise en situation

PostgreSQL est un des systèmes de gestion de bases de données relationnelles les plus utilisés aujourd'hui.

Si une application web comme DBFiddle permet d'essayer des SGBD comme PostgreSQL et de vérifier la validité des requêtes SQL, elle n'est pas suffisante pour une « vraie » application.

En effet, une application réelle communique avec le SGBD grâce à du code, ce que ne permet pas l'interface de DBFiddle.

De plus, l'installation d'un SGBD sur une de vos machines permet de le configurer finement et d'optimiser les performances. Dans ce module, vous apprendrez à installer PostgreSQL sur un système Linux.

Avantage de PostgreSQL

PostgreSQL est :

  • un SGBDR,

  • libre (licence BSD),

  • multi-plate-formes (Unix, Linux, Windows, MacOS, etc.),

  • puissant,

  • très respectueux du standard SQL,

  • très bien documenté.

FondamentalDocumentation de PostgreSQL

La ressource de référence pour ce SGBDR mais aussi pour SQL est sa documentation :

Fonctionnement général

PostgreSQL comme la grande majorité des SGBD est un logiciel client[2]-serveur[3]. Sous Linux, le programme associé au serveur est postgresql. Il existe de nombreux autres clients, les deux plus utilisés sont le client textuel psql et le client graphique PgAdmin.

Attention

Une installation a minima de PostgreSQL uniquement à des fins de test et d'apprentissage, et pour un usage local est présentée ici. Pour mettre en production une base de données PostgreSQL sur le réseau, il faut suivre des directives supplémentaires, notamment pour assurer la sécurité du système, sa sauvegarde, etc. Ces thèmes ne sont pas abordés dans le cadre de ce module.

PostgreSQL est à l'origine un système de gestion de base de données conçu pour Unix ; son installation et son fonctionnement sont possibles aujourd'hui sur plusieurs OS, mais Linux reste son environnement de prédilection. C'est l'architecture PostgreSQL sur Linux qui est étudiée ici.

FondamentalInstallation de PostgreSQL

Une présentation complète de l'installation de PostgreSQL est disponible sur le document ici : https://www.postgresql.org/download/

ExempleInstallation sous Debian ou Ubuntu à partir des paquets de la distribution

Pour installer PostgreSQL sur des distribution de Linux de famille Debian comme Ubuntu, on peut exécuter la commande suivante en tant qu'administrateur :

1
apt-get update
2
apt install postgresql

La première commande met à jour les dépôt des paquets pour apt.

La seconde commande télécharge et installe le méta-package postgresql qui :

  • Installe le serveur postgresql et le client textuel psql (ainsi que le client graphique pgAdmin),

  • Lance le service postgresql,

  • Crée un utilisateur Linux postgres (que l'on peut voir dans /etc/passwd),

  • Crée également une base de données par défaut nommée postgres et un utilisateur par défaut pour le SGBD nommé postgres.

On peut voir l'état de fonctionnement du serveur postgresql avec la commande :

1
systemctl status postgresql.service

MéthodeTester son installation

1
sudo su postgres
2
psql
  • sudo su postgres permet de devenir l'utilisateur Linux postgres qui a été créé lors de l'installation.

  • psql permet d'établir la connexion par défaut entre le client psql et le serveur postgresql en utilisant l'utilisateur Linux et une base de données du même nom, donc ici postgres.

  • Le client connecté affiche son numéro de version, propose de taper help et une invite de commande postgres=#.

  • \l permet d'afficher la liste des base de données existantes (on retrouve la base postgres à laquelle on est connecté).

  • \q permet de quitter.

ComplémentCommande SHOW ALL ;

La commande SHOW ALL; permet de voir tous les paramètres du serveur PostgreSQL.

Par exemple data_directory permet de connaître le répertoire de stockage utilisé sur le disque dur.

ComplémentInstaller PostgreSQL sous Windows

  1. Télécharger un installer depuis https://www.postgresql.org/download/windows.

  2. Exécuter l'installation en validant les propositions par défaut (et sans installer les éventuels programmes complémentaires proposés à l'issue de l'installation).

  3. Exécuter le client psql (également appelé Shell SQL).