Erreur PostgreSQL : database does not exist

FATAL:  database "gianluca" does not exist

Vous vous êtes connecté avec succès au cluster, mais vous avez demandé une base qui n'y est pas. Quand la « base manquante » du message est votre propre nom d'utilisateur, rien n'est cassé : psql prend simplement par défaut le nom de la base égal au nom de l'utilisateur quand vous n'en spécifiez pas.

Ce que signifie cette erreur

Un serveur (cluster) PostgreSQL héberge plusieurs bases ; chaque connexion en cible exactement une. Si le nom demandé n'existe pas sur le cluster que vous avez réellement atteint, vous obtenez ce FATAL. Les deux moitiés de cette phrase provoquent de la confusion :

Causes fréquentes

Comment la diagnostiquer

# Ce qu'il y a vraiment sur ce cluster :
psql -h HOST -p 5432 -U USER -d postgres -c '\l'

Se connecter à la base de maintenance postgres, toujours présente, et lister ce qui existe répond aux deux questions d'un coup : si vous êtes sur le bon cluster, et comment la base s'appelle réellement.

Comment la corriger

🔍 L'erreur jumelle : role does not exist — le même mécanisme de valeur par défaut, côté nom d'utilisateur.