Utilizzare l'utente del sistema operativo postgres
per creare il tuo database - a patto che tu non abbia impostato un database ruolo con i privilegi necessari che corrispondono all'utente del sistema operativo con lo stesso nome (h9uest
nel tuo caso):
sudo -u postgres -i
Come consigliato qui o qui.
Quindi riprova. Digita exit
al termine dell'operazione come utente di sistema postgres
.
Oppure eseguire il singolo comando createuser
come postgres
con sudo
, come dimostrato da drees in un'altra risposta.
Il punto è utilizzare l'utente del sistema operativo che corrisponde al ruolo del database con lo stesso nome per ottenere l'accesso tramite ident
autenticazione . postgres
è l'utente predefinito del sistema operativo che ha inizializzato il cluster di database. Il manuale:
Per avviare il sistema di database, un sistema appena inizializzato contiene sempre un ruolo predefinito. Questo ruolo è sempre un "superutente" e per impostazione predefinita (a meno che non venga modificato durante l'esecuzione di initdb
) avrà lo stesso nome dell'utente del sistema operativo che ha inizializzato il cluster di database. Solitamente, questo ruolo sarà denominato postgres
.Per creare più ruoli devi prima connetterti come questo ruolo iniziale.
Ho sentito parlare di configurazioni strane con nomi utente non standard o in cui l'utente del sistema operativo non esiste. Dovresti adattare la tua strategia lì.
Leggi i ruoli del database e l'autenticazione del client nel manuale.