Wie überprüfe ich den Benutzer und das Passwort von postgres? [geschlossen]

104

Ein Freund von mir hat diese Konfiguration auf meinem Mac vorgenommen. Aber ich kenne den Benutzernamen und das Passwort, die er gewählt hat, nicht.

ThiagoLeal
quelle
Passwörter werden in Einweg-Hashes gespeichert. Sie können das unformatierte Kennwort nicht aus der Datenbank abrufen, da es nicht mehr vorhanden ist. Sprich mit deinem Freund. und darüber hinaus offtopic für diese Seite.
Marc B
44
Ich schätze, dass dies kein Thema ist. Aber es ist auch der Google-Hit Nummer eins für "postgres show password" und die Antwort war nützlich für mein Programmierproblem.
Steven Noble
3
Dies ist also kein "Off Topic" für diese Seite. Es ist eine Programmierfrage, wie eine bestimmte Aufgabe ausgeführt werden kann.
Maiya

Antworten:

163

Sie können das von ihm gewählte Passwort nicht herausfinden. Sie können jedoch einen neuen Benutzer erstellen oder ein neues Kennwort für den vorhandenen Benutzer festlegen.

Normalerweise können Sie sich als Postgres-Benutzer anmelden:

Öffnen Sie ein Terminal und tun Sie es sudo su postgres. Nachdem Sie Ihr Administratorkennwort eingegeben haben, können Sie nun starten psqlund ausführen

CREATE USER yourname WITH SUPERUSER PASSWORD 'yourpassword';

Dadurch wird ein neuer Administrator erstellt. Wenn Sie die vorhandenen Benutzer auflisten möchten, können Sie dies auch tun

\du

um alle Benutzer aufzulisten und dann

ALTER USER yourusername WITH PASSWORD 'yournewpass';
Thilo
quelle
Ich gehe also davon aus, dass dies über das Dienstprogramm psql erfolgen muss, aber innerhalb von pgadmin nicht möglich ist
JohnMerlino
@JohnMerlino Sie können Benutzer über phppgadmin auflisten und erstellen, aber Sie können sich nicht anmelden, wenn Sie das Passwort für ein Konto nicht kennen.
Mark
Wie greifen Sie dann mit einer URL-Zeichenfolge darauf zu? Wenn Sie beispielsweise eine App haben, die eine Verbindung zu Ihrer Datenbank herstellt, müssen Sie Ihren Benutzernamen und Ihr Kennwort in die URL eingeben?
Maiya
8

Sie können die pg_hba.conf ändern und dann die postgresql neu laden. etwas in der pg_hba.conf könnte wie folgt aussehen:

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust

Wenn Sie Ihren Benutzer in postgresql ändern, können Sie sich erfolgreich anmelden.

su postgresql
lite
quelle