⌂ Bases de données
Fiche 5 sur 12

Installer PostgreSQL et pgAdmin

Les outils du cours, et de quoi travailler pendant l'installation.

Après cette fiche, vous saurez :

1En attendant : un éditeur en ligne

L'installation prend du temps, et il arrive qu'un poste résiste. Vous n'avez pas besoin d'attendre pour commencer à écrire du SQL.

Des sites permettent d'exécuter du PostgreSQL directement dans le navigateur, sans rien installer et sans créer de compte.

SiteAdresseRemarque
Aiven PG Playgroundaiven.io/tools/pg-playgroundLe plus simple. Vraie base PostgreSQL dans le navigateur, sans compte.
SQL Onlinesqliteonline.comChoisir PostgreSQL dans le menu de gauche. Permet aussi de voir les tables et d'exporter.

Attention

Vos données disparaissent quand vous fermez l'onglet.

Ces outils tournent dans la mémoire du navigateur. Ils sont parfaits pour tester une requête ou suivre la séance, mais pas pour conserver un travail.

Prenez donc l'habitude de garder votre SQL dans un fichier texte à côté. C'est de toute façon la bonne pratique : le SQL se conserve, se relit et se recorrige.

Faites l'essai tout de suite. Ouvrez un de ces sites, collez ceci, et lancez.

CREATE TABLE lecteurs (
    num_lecteur INTEGER,
    nom VARCHAR(50),
    prenom VARCHAR(50)
);

INSERT INTO lecteurs VALUES (1, 'Dupuis', 'Camille');
INSERT INTO lecteurs VALUES (2, 'Martin', 'Sofia');

SELECT * FROM lecteurs;
Résultat
num_lecteur | nom     | prenom
------------+---------+--------
          1 | Dupuis  | Camille
          2 | Martin  | Sofia

Vous venez de créer une table, d'y mettre deux lignes et de les relire. Vous ne comprenez pas encore ces commandes, c'est normal : elles font l'objet des fiches 6 et 8.

2Installer PostgreSQL

PostgreSQL est le SGBD : le moteur qui stocke et gère les données. Il est gratuit et libre.

  1. Aller sur le site Tapez postgresql.org/download et choisissez votre système.
  2. Lancer l'installateur Prenez la version 18, la version stable actuelle.
  3. Cocher pgAdmin L'installateur propose une liste de composants. Laissez tout coché : PostgreSQL Server, pgAdmin 4, et Command Line Tools. Les trois nous serviront.
  4. Choisir un mot de passe On vous demande un mot de passe pour l'utilisateur postgres. Notez-le immédiatement. Il n'existe aucun moyen simple de le retrouver.
  5. Laisser le port par défaut Le port 5432. Ne le changez pas.
  6. Ignorer Stack Builder À la fin, un outil propose d'installer des extensions. Décochez et terminez.

Attention

Le mot de passe est le point critique de l'installation.

Chaque année, des étudiants ne peuvent plus se connecter parce qu'ils l'ont oublié ou mal noté. Écrivez-le sur papier, ou choisissez quelque chose de simple — c'est une base d'exercice sur votre machine, pas un serveur bancaire.

postgres comme mot de passe est acceptable pour ce cours.

3pgAdmin : l'interface

pgAdmin n'est pas la base de données. C'est l'interface graphique qui permet de piloter PostgreSQL sans tout taper en ligne de commande.

À retenir

La distinction est importante.

Comparaison : PostgreSQL est le moteur de la voiture, pgAdmin est le tableau de bord.

Se connecter

  1. Lancer pgAdmin Il s'ouvre dans votre navigateur. C'est normal, ce n'est pas une erreur.
  2. Déplier « Servers » Dans la colonne de gauche, cliquez sur la flèche à côté de Servers, puis sur PostgreSQL 18.
  3. Entrer le mot de passe Celui de l'installation. Cochez Save password pour ne plus avoir à le retaper.

Une fois connecté, dépliez Databases. Vous y trouvez une base postgres : c'est la base technique de PostgreSQL. Ne travaillez jamais dedans.

Créer votre base

  1. Clic droit sur Databases Puis Create → Database…
  2. Donner un nom bibliotheque. Pas d'espace, pas d'accent, pas de majuscule.
  3. Enregistrer Cliquez sur Save. Votre base apparaît dans la liste.

Attention

Toujours en minuscules, sans accent, sans espace.

PostgreSQL accepte Bibliothèque, mais il faudra ensuite écrire des guillemets partout : SELECT * FROM "Bibliothèque". Vous allez vous en mordre les doigts.

Cette règle vaut pour tous les noms : bases, tables, colonnes. En minuscules, et avec un tiret bas pour séparer les mots : num_lecteur, date_emprunt.

4Écrire du SQL dans pgAdmin

Sélectionnez votre base bibliotheque, puis dans le menu du haut : Tools → Query Tool. Vous pouvez aussi cliquer sur l'icône en forme d'éclair.

Une fenêtre s'ouvre en trois parties : la zone d'écriture en haut, le bouton d'exécution, et les résultats en bas.

ActionComment
Exécuter toutTouche F5, ou le bouton ▶
Exécuter une seule requêteSélectionnez-la à la souris, puis F5
Voir le résultatOnglet Data Output, en bas
Voir l'erreurOnglet Messages, en bas

À retenir

L'astuce la plus utile du cours : sélectionner avant d'exécuter.

Sans sélection, F5 exécute tout le contenu de la fenêtre. Avec une sélection, il n'exécute que ce qui est surligné.

Cela vous permet de garder toutes vos requêtes de la séance dans la même fenêtre et de n'en relancer qu'une seule à la fois.

Attention

Vérifiez toujours la base sur laquelle vous travaillez.

Le nom est affiché en haut de la fenêtre de requête. Une erreur classique consiste à créer ses tables dans la base postgres au lieu de bibliotheque, puis à ne plus les retrouver.

Voir les tables

Une table créée n'apparaît pas toute seule dans l'arborescence de gauche. Il faut rafraîchir : clic droit sur la base, puis Refresh.

Le chemin complet est long, mais on le retient vite :

Servers > PostgreSQL 18 > Databases > bibliotheque > Schemas > public > Tables

Le schéma public est le rangement par défaut. Tant que vous n'en créez pas d'autres, toutes vos tables y seront.

→Exercices

1Premier contact en ligneRecopier

Sans rien installer, ouvrez aiven.io/tools/pg-playground et exécutez ce script.

CREATE TABLE auteurs (
    num_auteur INTEGER,
    nom VARCHAR(50),
    nationalite VARCHAR(40)
);

INSERT INTO auteurs VALUES (1, 'Zola', 'Française');
INSERT INTO auteurs VALUES (2, 'Simenon', 'Belge');

SELECT * FROM auteurs;
  1. Combien de lignes le résultat contient-il ?
  2. Relancez le script une deuxième fois. Que se passe-t-il ?
  3. Rechargez la page, puis exécutez uniquement le SELECT. Que se passe-t-il ?

Solution

Résultat
num_auteur | nom     | nationalite
-----------+---------+------------
         1 | Zola    | Française
         2 | Simenon | Belge

1. Deux lignes.

2. Une erreur apparaît :

ERROR: relation "auteurs" already exists

La table existe déjà, PostgreSQL refuse de la recréer. C'est une protection : sans elle, vous écraseriez vos données par accident.

Le mot relation est le terme technique pour « table » dans les messages PostgreSQL. Vous le verrez souvent.

3. Autre erreur :

ERROR: relation "auteurs" does not exist

Le rechargement a tout effacé. C'est exactement la limite annoncée : ces outils ne conservent rien.

La leçon : gardez votre SQL dans un fichier texte. Le script est la seule chose qui vous appartienne vraiment.

2Installer et créer sa baseModifier
  1. Installez PostgreSQL 18 et pgAdmin.
  2. Connectez-vous au serveur.
  3. Créez une base nommée bibliotheque.
  4. Ouvrez le Query Tool sur cette base.
  5. Exécutez la requête ci-dessous et notez la réponse.
SELECT version();

Solution

Résultat
PostgreSQL 18.6 on x86_64-pc-windows-msvc, compiled by ...

SELECT version() demande au serveur de s'identifier. Si vous obtenez une réponse, c'est que la chaîne complète fonctionne : PostgreSQL tourne, pgAdmin s'y connecte, et votre requête est bien arrivée jusqu'au moteur.

Si ça ne marche pas :

MessageCause probable
password authentication failedMauvais mot de passe. C'est celui de l'installation.
could not connect to serverLe service PostgreSQL ne tourne pas. Redémarrez la machine.
database ... does not existVous êtes connecté à une base qui n'existe pas. Vérifiez le nom en haut de la fenêtre.
3Explorer pgAdminCréer

Dans votre base bibliotheque, exécutez le script de l'exercice 1 (la table auteurs).

  1. Retrouvez la table dans l'arborescence de gauche. Quel est le chemin complet ?
  2. Clic droit sur la table, puis View/Edit Data → All Rows. Que se passe-t-il ?
  3. Fermez pgAdmin, rouvrez-le. Vos données sont-elles toujours là ?
  4. Comparez avec ce qui s'est passé à l'exercice 1.

Solution

1. Le chemin

Servers > PostgreSQL 18 > Databases > bibliotheque > Schemas > public > Tables > auteurs

Si la table n'apparaît pas : clic droit sur Tables, puis Refresh. pgAdmin ne se met pas à jour tout seul.

2. pgAdmin écrit et exécute la requête à votre place, et affiche les deux lignes. Regardez la fenêtre : il a généré SELECT * FROM public.auteurs ORDER BY num_auteur ASC.

C'est un bon réflexe à prendre : quand vous ne savez pas écrire une requête, faites-la faire par le menu et lisez le SQL produit.

3. Oui, tout est là.

4. La différence est fondamentale.

Éditeur en lignePostgreSQL local
Où sont les données ?Mémoire du navigateurSur votre disque dur
Après fermeture ?Tout est perduTout est conservé
Pour quoi faire ?Tester, dépannerLe vrai travail

C'est précisément ce qu'on attend d'une base de données : que les données survivent à la fermeture du programme. Une variable en mémoire ne le fait pas, une base de données si.

Je sais faire

Une case qui coince ? Relisez la partie concernée avant de passer à la fiche suivante.

← Fiche 4 Fiche 6 : Créer les tables →