Error de PostgreSQL: database does not exist

FATAL:  database "gianluca" does not exist

Te conectaste al clúster con éxito, pero pediste una base de datos que no está ahí. Cuando la "base de datos faltante" del mensaje es tu propio nombre de usuario, nada está roto: psql simplemente usa por defecto el nombre de usuario como nombre de base de datos cuando no especificas uno.

Qué significa este error

Un servidor PostgreSQL (clúster) aloja varias bases de datos; cada conexión apunta exactamente a una. Si el nombre solicitado no existe en el clúster que realmente alcanzaste, obtienes este FATAL. Ambas mitades de esa frase causan confusión:

Causas comunes

Cómo diagnosticarlo

# Qué hay realmente en este clúster:
psql -h HOST -p 5432 -U USER -d postgres -c '\l'

Conectarse a la siempre presente base de datos de mantenimiento postgres y listar lo que existe responde ambas preguntas de una vez: si estás en el clúster correcto, y cómo se llama realmente la base de datos.

Cómo solucionarlo

🔍 El error gemelo: role does not exist — el mismo mecanismo de valor por defecto, en el lado del nombre de usuario.