Installation de PostgreSQL
La version couramment supportée par Debian est PostgreSQL 13. Le paquet à installer est postgresql. C’est un métapaquet qui contient le client/serveur PostgreSQL en dépendance
Je vous conseille également de télécharger le paquet de documentation au format HTML contenu dans le paquet postgresql-doc:
sudo apt install postgresql postgresql-doc
Création d’un lien vers la documentation PostgreSQL
Une fois le paquet de documentation installé, vous pouvez l’ouvrir avec la commande firefox https://www.postgresql.org/docs/13/index.html, puis l’ajouter aux favoris Firefox pour ne plus avoir à écrire cette commande.
On peut aussi créer un raccourci bureau qui ouvrira la documentation PostgreSQL dans firefox (ou tout autre navigateur en modifiant la ligne de commande)
Placez la configuration suivante dans /usr/share/applications/postgresql-doc.desktop, et vous obtiendrez un lanceur qui ouvrira la documentation.
[Desktop Entry] Name=Documentation PostgreSQL 13 Exec=firefox https://www.postgresql.org/docs/13/index.html Icon=text-html Type=Application Categories=GTK;GNOME;Utility;
On obtient le raccourci d’application suivant (exemple sous Gnome):
Première connexion
Lors de l’installation de PostgreSQL, un premier utilisateur nommé postgres a été créé. La méthode d’authentification de cette utilisateur est peer.
Pour s’authentifier avec la méthode peer, vous devez vous authentifier en tant qu’utilisateur du même nom dans votre système d’exploitation, puis lancer le client PostgreSQL (psql): sudo -u postgres psql
Vous voilà connecté en tant que postgres. Vous pouvez à présent lancer des commandes SQL dans la console PostgreSQL, par exemple SELECT 1 + 1 as test;
Ajout d’un rôle et d’une base de données
Un rôle PostgreSQL est l’équivalent d’un utilisateur de PostgreSQL. On peut lister les rôles existants avec la méta commande \du. Pour l’instant, il existe uniquement le rôle postgresql qui a les droits super utilisateur.
Ajout d’un rôle pour notre base de données
On va créer un rôle ayant droit de modifier la structure/données de notre base de données de test avec la commande CREATE ROLE: CREATE ROLE role_tutoriel WITH LOGIN PASSWORD 'a_changer';
On passe LOGIN en option pour pouvoir se connecter à la base de données en tant qu’utilisateur role_tutoriel. On indique PASSWORD suivi du mot de passe pour utiliser l’authentification par mot de passe.
Création d’une base de données
On va créer une base de données nommée tutoriel_bdd avec la commande SQL CREATE DATABASE: CREATE DATABASE bdd_tutoriel OWNER role_tutoriel;.
Cette nouvelle base de données appartient à role_tutoriel, qui a donc le privilège de modifier cette base de données.
Connexion à la base de données
On peut maintenant se connecter à la base de données avec le rôle nouvellement créé. Dans un shell, utiliser la commande suivante: psql --password --host=localhost bdd_tutoriel role_tutoriel
Outils additionnels pour le développement avec PostgreSQL
DBeaver
DBeaver est un client universel pour les bases de données SQL. Il vous permettra d’écrire vos requêtes SQL avec de l’auto complétion, de visualiser le schéma de votre base, ses données, fonctions, modules, schémas, etc.
Logs PostgreSQL
Le serveur PostgreSQL stocke son journal d’évènements dans le fichier /var/log/postgresql/postgresql-13-main.log. Dans ce fichier, vous pouvez retrouver entre autres:
- Les connexions à la base de données
- Les requêtes en erreur
Conclusion
Créer une base de données PostgreSQL locale pour le développement est
rapide (trois commandes SQL suffisent) et permet de tester une
application dépendant fortement d’une base de données.
Installer PostgreSQL pour le développement - Debian 11