Errore PostgreSQL: database does not exist

FATAL:  database "gianluca" does not exist

Ti sei connesso al cluster con successo, ma hai chiesto un database che non c'è. Quando il "database mancante" nel messaggio è il tuo stesso username, non c'è nulla di rotto: psql usa semplicemente come default il nome del database uguale al nome dell'utente quando non ne specifichi uno.

Cosa significa questo errore

Un server (cluster) PostgreSQL ospita più database; ogni connessione ne punta esattamente uno. Se il nome richiesto non esiste sul cluster che hai effettivamente raggiunto, ottieni questo FATAL. Entrambe le metà di quella frase causano confusione:

Cause comuni

Come diagnosticarlo

# Cosa c'è davvero su questo cluster:
psql -h HOST -p 5432 -U USER -d postgres -c '\l'

Connettersi al database di manutenzione postgres, sempre presente, ed elencare cosa esiste risponde a entrambe le domande in una volta: se sei sul cluster giusto, e come si chiama davvero il database.

Come risolverlo

🔍 L'errore gemello: role does not exist — stesso meccanismo di default, dal lato del nome utente.