679 Stimmen

Psql: FATAL: Rolle "postgres" existiert nicht

Ich bin ein PostgreSQL-Neuling.

Ich habe die PostgreSQL-App für Mac installiert. Ich habe mit den psql-Befehlen herumgespielt und versehentlich die PostgreSQL-Datenbank gelöscht. Ich weiß nicht, was darin war.

Ich arbeite gerade an einem Tutorial: http://www.rosslaird.com/blog/building-a-project-with-mezzanine/

Und ich stecke bei sudo -u postgres psql postgres fest.

FEHLERMELDUNG: psql: FATAL: Rolle "postgres" existiert nicht

$ which psql

/Applications/Postgres.app/Contents/MacOS/bin/psql

Das ist die Ausgabe von psql -l

                                Liste der Datenbanken
    Name    |   Besitzer    | Kodierung | Kollation | Ctype |     Zugriffsrechte     
------------+--------------+-----------+-----------+-------+---------------------------
 user       | user       | UTF8     | en_US   | en_US | 
 template0  | user       | UTF8     | en_US   | en_US | =c/user                  +
            |            |          |         |       | user      =CTc/user      
 template1  | user       | UTF8     | en_US   | en_US | =c/user                  +
            |            |          |         |       | user      =CTc/user      
(3 Zeilen)

Was sind also die Schritte, die ich unternehmen sollte? Alles im Zusammenhang mit psql löschen und alles neu installieren?

Danke für eure Hilfe!

17voto

SwiftPush Punkte 171

Wenn Sie Postgres von Brew installiert haben und einen Apple Silicon (M1) Mac verwenden, führen Sie dies in Ihrem Terminal aus:

/opt/homebrew/opt/postgresql/bin/createuser -s postgres

Wenn Sie einen Intel (x86) Mac verwenden, führen Sie dies in Ihrem Terminal aus:

/usr/local/opt/postgres/bin/createuser -s postgres

9voto

Alex Levine Punkte 1261

Dies auf der Befehlszeile auszuführen sollte das Problem beheben

/Applications/Postgres.app/Contents/Versions/9.4/bin/createdb

9voto

user9347049 Punkte 1887

Dieser Artikel hat mir geholfen, das gleiche Problem zu lösen psql: FATAL: Rolle "postgres" existiert nicht.

Ich benutze mac, also habe ich diesen Befehl im Terminal eingegeben:

createuser -s postgres

Und es hat für mich funktioniert.

9voto

Mba Gozpel Punkte 203

Dies hat bei mir funktioniert

createuser -s postgres

Hinweis: Ich benutze Mac Catalina

8voto

BrunoJCM Punkte 2068

Wenn Sie Docker verwenden, stellen Sie sicher, dass Sie POSTGRES_USER=something_else NICHT verwenden, da diese Variable vom Standardbild verwendet wird, um den Namen des PostgreSQL-Administratorbenutzers zu kennen (standardmäßig als postgres).

In meinem Fall habe ich diese Variable verwendet, um einen anderen Benutzer für meine spezifische Datenbank festzulegen, aber es hat natürlich den Haupt-PostgreSQL-Benutzer geändert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X