Quando un'applicazione client si connette a un server Postgres, deve specificare a quale database desidera connettersi. Se non conosci il nome di un database (all'interno del cluster servito dal postmaster a cui ti colleghi), puoi trovare un elenco di nomi di database con il comando:
psql -l
Quando esegui quel comando, psql si connette al server e interroga pg_database per un elenco di nomi di database. Tuttavia, poiché psql è un'applicazione client Postgres, non può connettersi al server senza conoscere il nome di almeno un database:Catch-22. Quindi, psql è codificato per connettersi a un database chiamato "postgres" quando esegui psql -l
, ma in questo caso puoi specificare un database modello:
psql -l -d template1