Avant de commencer

Voir la base Odoo avec pgAdmin 4

pgAdmin 4 permet d'observer PostgreSQL avec une interface graphique. Nous l'utiliserons pour consulter les tables et exécuter quelques requêtes SELECT dans la base d'exercice, jamais pour modifier la structure à la main.

Un outil facultatif, une base d'exercice uniquement

pgAdmin est un outil d'observation : vous pouvez suivre le jour 2 sans lui si vous n'utilisez pas Ubuntu ou si vous ne souhaitez pas installer d'application supplémentaire. Odoo gère la structure de ses tables lorsqu'un module est mis à niveau. Pendant cette formation, utilisez pgAdmin uniquement pour lire et vérifier les données : exécutez des requêtes SELECT, jamais une commande qui crée, modifie ou supprime des données ou la structure de la base.

1. Installer pgAdmin 4 sur Ubuntu, si nécessaire

Cette préparation facultative se fait une seule fois sur Ubuntu. Si pgAdmin 4 est déjà installé, passez directement à l'étape suivante. Dans un terminal, installez l'application de bureau :

sudo apt update
sudo apt install pgadmin4-desktop

Si le package est introuvable

Erreur « Unable to locate package pgadmin4-desktop »

Votre version d'Ubuntu ne propose sans doute pas pgAdmin dans ses dépôts configurés. Vous pouvez alors ajouter le dépôt APT officiel de pgAdmin. Cette opération modifie la configuration APT de votre poste ; utilisez-la uniquement sur un Ubuntu pris en charge par pgAdmin.

Terminal Ubuntu · ajouter le dépôt APT officiel de pgAdmin
sudo apt install -y curl ca-certificates gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub \
  | sudo gpg --dearmor -o /etc/apt/keyrings/packages-pgadmin-org.gpg
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'
sudo apt update
sudo apt install pgadmin4-desktop

À observer : après sudo apt update, la liste des packages mentionne le dépôt pgAdmin sans erreur de signature. La dernière commande installe ensuite l'application de bureau. Si votre version d'Ubuntu n'est pas prise en charge, n'insistez pas : utilisez psql pour les requêtes SELECT de ce cours.

Lancez ensuite pgAdmin 4 depuis le menu des applications : appuyez sur la touche Super (souvent marquée du logo Windows), tapez pg, puis choisissez pgAdmin 4. Vous pouvez aussi le démarrer depuis un terminal :

Terminal Ubuntu · lancer pgAdmin 4
pgadmin4

Si pgAdmin vous demande un mot de passe principal, choisissez-en un : il protège les mots de passe de connexion mémorisés par pgAdmin sur votre poste. Ce n'est pas le mot de passe PostgreSQL.

2. Choisir le compte PostgreSQL local

Dans cet environnement de formation, le rôle PostgreSQL porte le même nom que votre compte Linux. Pour connaître ce nom, exécutez :

whoami

Par exemple, la commande retourne jem sur le poste de l'instructeur : le rôle PostgreSQL à utiliser est donc jem.

Si aucun mot de passe PostgreSQL n'a encore été défini pour ce rôle, connectez-vous localement avec psql et choisissez-en un. Ne copiez jamais ce mot de passe dans le support, dans le code ou dans Git.

psql -d postgres
\password votre_nom_linux
\q

Le premier psql fonctionne localement grâce à l'authentification Unix. La commande \password enregistre le mot de passe demandé par pgAdmin lors d'une connexion réseau à 127.0.0.1.

3. Enregistrer le serveur Odoo dans pgAdmin

Dans pgAdmin, faites un clic droit sur Servers, puis choisissez Register → Server…. Donnez-lui par exemple le nom Odoo. Dans l'onglet Connection, utilisez les valeurs suivantes :

  • Host name/address : 127.0.0.1
  • Port : 5432
  • Maintenance database : postgres
  • Username : le résultat de whoami, par exemple jem
  • Password : le mot de passe défini à l'étape précédente

Vous pouvez activer Save password? si ce poste vous appartient. Gardez l'authentification Kerberos désactivée et laissez le champ Role vide.

Onglet Connection de pgAdmin avec l'hôte 127.0.0.1, le port 5432, la base postgres et l'utilisateur jem.
Configuration locale : l'exemple utilise le compte Linux jem.

4. Retrouver les tables de la base d'exercice

Après la connexion, dépliez l'arborescence dans cet ordre : Servers → Odoo → Databases → training → Schemas → public → Tables. La base training est celle utilisée pour les exercices ; elle contient les tables créées par Odoo et par ses modules.

Par exemple, les deux étiquettes créées au jour 1 se trouvent dans res_partner_category. Plus loin aujourd'hui, le modèle training.note créera la table training_note après la mise à niveau du module.

Explorateur d'objets de pgAdmin ouvert sur training, Schemas, public puis Tables.
L'arborescence affiche les tables PostgreSQL de la base training.

5. Exécuter une requête de lecture

Faites un clic droit sur la base training — ou sur une table — puis choisissez Query Tool. C'est l'éditeur SQL montré ci-dessous. Écrivez une requête, puis cliquez sur le bouton d'exécution ou appuyez sur F5.

Menu contextuel de pgAdmin sur la table res_partner_category, avec l'option Query Tool sélectionnée.
Ouvrez Query Tool depuis le menu contextuel.

Commencez par cette requête sans danger : elle lit les étiquettes de contact créées au jour 1.

SELECT id, name, color
FROM res_partner_category
ORDER BY id;

Résultat attendu : une grille de résultats apparaît en bas de l'écran. Vous y retrouverez notamment Formation · Étudiant et Formation · Formateur. Pour voir la table de notes lorsque nous l'aurons créée, remplacez la requête par SELECT * FROM training_note ORDER BY id;.

Vous êtes prêt

Vous savez maintenant relier pgAdmin à PostgreSQL, parcourir les tables de la base training et vérifier des données avec une requête de lecture. Vous pouvez commencer la création du modèle.