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

psql:FATAL:il ruolo postgres non esiste

NOTA:se hai installato Postgres usando homebrew, guarda il commento di @ user3402754 di seguito.

Tieni presente che il messaggio di errore NON parlare di un database mancante, parla di un ruolo mancante. Più avanti nel processo di accesso potrebbe anche imbattersi nel database mancante.

Ma il primo passo è controllare il ruolo mancante:qual è l'output all'interno di psql del comando \du ? Sul mio sistema Ubuntu la riga pertinente è simile a questa:

                              List of roles
 Role name |            Attributes             | Member of 
-----------+-----------------------------------+-----------
 postgres  | Superuser, Create role, Create DB | {}        

Se non è presente almeno un ruolo con superuser , allora hai un problema :-)

Se ce n'è uno, puoi usarlo per accedere. E guardando l'output del tuo \l comando:I permessi per user nel template0 e template1 i database sono gli stessi del mio sistema Ubuntu per il superutente postgres . Quindi penso che la tua configurazione semplice utilizzi user come superutente. Quindi potresti provare questo comando per accedere:

sudo -u user psql user

Se user è davvero il superutente DB, puoi creare un altro superutente DB e un database privato e vuoto per lui:

CREATE USER postgres SUPERUSER;
CREATE DATABASE postgres WITH OWNER postgres;

Ma dal momento che la configurazione di postgres.app non sembra farlo, anche tu non dovresti. Semplice adatta il tutorial.