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!

0voto

Michael Dimmitt Punkte 719

Ich bin an diesem Problem hängengeblieben, nachdem ich am Vortag brew services stop postgresql ausgeführt hatte.
Am nächsten Tag funktionierte brew services start postgresql nicht. Dies liegt daran, dass wie beim Installieren mit Homebrew gezeigt wird, postgresql einen launchd verwendet ... der geladen wird, wenn Ihr Computer eingeschaltet ist.

Lösung:
brew services start postgresql
Starten Sie Ihren Computer neu.

0voto

Mikeumus Punkte 3142
psql -U debug -d dashboard_3

Ich musste den Benutzernamen und den Datenbanknamen mit dem Terminal des postgres:14 Docker-Containers angeben, um in die Datenbank einzusteigen.

0voto

Michael Punkte 1093

Der Befehl \du gibt zurück:

Rollenname = postgres@implicit_files

Und dieser Befehl postgres=# \password postgres gibt den Fehler zurück:

FEHLER: Rolle "postgres" existiert nicht.

Aber dieses postgres=# \password postgres@implicit_files funktioniert einwandfrei.

Auch nach sudo -u postgres createuser -s postgres funktioniert die erste Variante ebenfalls.

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