PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Errore PostgreSQL:irreversibile:il nome utente del ruolo non esiste

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.