PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

psql:FATAL:Rolle Postgres existiert nicht

HINWEIS:Wenn Sie Postgres mit Homebrew installiert haben, lesen Sie den Kommentar von @user3402754 unten.

Beachten Sie, dass die Fehlermeldung NICHT Wenn man von einer fehlenden Datenbank spricht, spricht man von einer fehlenden Rolle. Später im Login-Prozess stolpert er vielleicht auch noch über die fehlende Datenbank.

Aber der erste Schritt ist, die fehlende Rolle zu überprüfen:Was ist die Ausgabe innerhalb von psql des Befehls \du ? Auf meinem Ubuntu-System sieht die entsprechende Zeile so aus:

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

Wenn es nicht mindestens eine Rolle mit superuser gibt , dann haben Sie ein Problem :-)

Wenn es einen gibt, können Sie sich damit anmelden. Und schauen Sie sich die Ausgabe Ihres \l an Befehl:Die Berechtigungen für user auf template0 und template1 Datenbanken sind die gleichen wie auf meinem Ubuntu-System für den Superuser postgres . Ich denke also, dass Ihr Setup einfach user verwendet als Superuser. Sie könnten also diesen Befehl zum Anmelden versuchen:

sudo -u user psql user

Wenn user wirklich der DB-Superuser ist, können Sie einen weiteren DB-Superuser und eine private, leere Datenbank für ihn erstellen:

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

Da Ihr postgres.app-Setup dies jedoch nicht zu tun scheint, sollten Sie dies auch nicht tun. Einfach das Tutorial anpassen.