Étape 8 sur 11

Préparer PostgreSQL

Odoo ne doit pas se connecter avec le superutilisateur postgres. Il lui faut un rôle local autorisé à se connecter et à créer les bases d'exercice.

Windows · créez le rôle dans pgAdmin

  1. Ouvrez pgAdmin et connectez-vous au serveur local créé pendant l'installation.
  2. Choisissez Object → Create → Login/Group Role.
  3. Nommez le rôle odoo_dev.
  4. Dans Definition, choisissez un mot de passe local distinct. Ne le copiez ni dans ce cours ni dans Git.
  5. Dans Privileges, activez Can login? et Create databases?. Laissez Superuser désactivé.

À observer : odoo_dev apparaît sous Login/Group Roles avec les deux privilèges attendus.

Debian/Ubuntu · créez un rôle local

Terminal · Debian/Ubuntu
sudo -u postgres createuser -d -R -S "$USER"
createdb "$USER"

-d autorise la création de bases ; -R et -S refusent respectivement la création d'autres rôles et le statut superutilisateur. Le rôle porte le même nom que votre session Linux, ce qui permet l'authentification locale sans mot de passe dans le parcours standard.

Si le rôle ou la base existe déjà, PostgreSQL le signale. Ne les supprimez pas : vérifiez leurs propriétés avant de décider qu'une correction est nécessaire.

macOS · utilisez le rôle de Postgres.app

Après Initialize, Postgres.app crée normalement un rôle et une base portant le nom de votre session macOS. Vérifiez le rôle :

Terminal · macOS
psql -d postgres -c '\du'

À observer : votre nom de session apparaît et le rôle peut créer des bases. S'il manque, arrêtez-vous sur la documentation Postgres.app ; n'activez pas un accès réseau et ne transformez pas un rôle au hasard.

Deux mots de passe différents

Le mot de passe d'un rôle PostgreSQL permet au serveur Odoo de parler à PostgreSQL. Le mot de passe de connexion à l'interface Odoo appartient à un utilisateur de la base. Ne les confondez pas.