Ce qu'on va faire
Installer le serveur PostgreSQL, le démarrer, lui donner le mot de passe du cours, créer la base confiserie avec sa table chocolat, puis vérifier qu'un programme Java peut s'y connecter. Toutes les commandes se tapent dans un terminal.
postgres, mot de passe testtest. C'est un mot de passe d'apprentissage pour votre machine locale, jamais pour un vrai serveur !Étape par étape
-
Installer les paquets : sur Debian, Ubuntu ou Linux Mint :
Le paquetsudo apt update sudo apt install postgresql postgresql-client postgresql-contribpostgresql-contribapporte les extensions officielles (pgcrypto,uuid-ossp,hstore...) : pas obligatoire aujourd'hui, mais il servira plus tard dans la session. Sur Fedora :sudo dnf install postgresql-serverpuissudo postgresql-setup --initdb. Sur Arch :sudo pacman -S postgresql. -
Démarrer le service et l'activer au démarrage de la machine :
Le statut doit affichersudo systemctl enable --now postgresql systemctl status postgresqlactive. -
Donner le mot de passe du cours à l'usager
postgres:sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'testtest';" -
Créer la base confiserie et sa table
chocolat:
Puis dans la console psql :sudo -u postgres createdb confiserie sudo -u postgres psql -d confiserie
On sort de psql avecCREATE TABLE chocolat ( id SERIAL PRIMARY KEY, nom VARCHAR(100) NOT NULL, description TEXT, cacao REAL, essence VARCHAR(100) ); INSERT INTO chocolat (nom, description, cacao, essence) VALUES ('Noir intense', 'Une tablette corsée', 85, 'nature'), ('Lait onctueux', 'Le classique doux', 40, 'vanille');\q. -
Vérifier en console : se connecter comme le fera Java, par le réseau local :
Le mot de passe demandé estpsql -h localhost -U postgres -d confiserie confiserie=# SELECT nom, cacao FROM chocolat;testtest. Si les chocolats s'affichent, le serveur est prêt. -
Brancher Java : dans le projet (avec le pilote JDBC au chemin de compilation), l'URI de connexion est :
C'est exactement ce qu'utilise lejdbc:postgresql://localhost:5432/confiserieChocolatDAO.javade la semaine 1.
La voie rapide : le script du cours
Toutes les étapes ci-dessus en une commande, sans danger (il ne détruit jamais de données et peut se relancer) :
chmod +x installer-postgresql-cours.sh
sudo ./installer-postgresql-cours.sh
Télécharger installer-postgresql-cours.sh
sudo avant de l'exécuter, c'est un réflexe de pro.pgAdmin 4 : l'interface graphique
pgAdmin est le tableau de bord graphique de PostgreSQL : parcourir les tables, lancer des requêtes, inspecter les schémas. Il s'installe depuis son propre dépôt apt :
# Installer la clé publique du dépôt pgAdmin
curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /etc/apt/keyrings/packages-pgadmin-org.gpg
# Déclarer le dépôt puis rafraîchir apt
sudo sh -c 'echo "deb [signed-by=/etc/apt/keyrings/packages-pgadmin-org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'
# Installer l'application de bureau
sudo apt install pgadmin4-desktop
Au premier lancement, ajoutez un serveur avec l'hôte localhost, l'usager postgres et le mot de passe testtest : la base confiserie apparaît dans l'arborescence.
pgadmin4-web (interface dans le navigateur, à configurer ensuite avec sudo /usr/pgadmin4/bin/setup-web.sh) et pgadmin4 qui installe les deux modes. Les détails sont sur la page officielle pgAdmin 4 (APT).Dépannage
systemctl status postgresql), puis trouvez le port réel :
sudo -u postgres psql -c "SHOW port;"
Le port par défaut est 5432, mais une machine qui a connu plusieurs installations peut écouter sur 5433 ou plus. Ce n'est pas grave : ajustez le port dans votre URI JDBC. Savoir trouver son port et corriger son URI, c'est déjà de l'administration de bases de données.
testtest. Refaites l'étape 3, puis reconnectez-vous.
-h localhost. En local, PostgreSQL authentifie par l'usager du système; passez par le réseau avec psql -h localhost -U postgres, comme Java le fait.
createdb refuse ? Tant mieux, elle est là. On ne détruit jamais une base par réflexe : on la garde et on travaille avec.