Ich habe dies mit 4 Rollen getroffen, die ich erstellt habe:
Nachdem ich das Passwort für einen Benutzer in pgAdmin III über die GUI (1) geändert habe, kann sich dieser Benutzer nicht mehr anmelden.
pgAdmin III Fehlermeldung anzeigen:
An error has occurred:
Error connecting to the server: FATAL: password authentication failed for user "sam"
FATAL: password authentication failed for user "sam"
Mein System: Postgresql 9.2 unter Ubuntu 12.04
Gibt es eine Möglichkeit, dies zu beheben?
(1): Melden Sie sich mit dem Konto postgres an, klicken Sie mit der rechten Maustaste auf Benutzer in Anmelderollen, gehen Sie zur Registerkarte 'Definition' und geben Sie das Passwort ein
quelle
trust
oderpeer
in diepg_hba.conf
Datei für dieses Konto.Am einfachsten ist es, sich mit psql oder pgAdmin und anzumelden
Wenn Sie sich jetzt nicht mit einem Superuser-Konto anmelden können, können Sie die Einstellungen wiederherstellen, indem Sie die Einstellungen für pg_hba.conf für diesen Benutzer ändern und die Konfiguration neu laden (manchmal muss der Server neu gestartet werden, bin mir aber nicht sicher, warum).
Sie können eine Zeile hinzufügen, in der Sie sich mit der Methode ident (Peer in 9.2) anmelden können (wenn Sie ein lokales Systemkonto mit demselben Namen wie der Benutzer verwenden können), um lokale Verbindungen für den Benutzer herzustellen, oder (wenn das ist nicht möglich) auf "vertrauen" setzen (sehr vorübergehend!). Wenn Sie Vertrauen verwenden, setzen Sie es so schnell wie möglich zurück, da dies bedeutet "Vertrauen, dass der Benutzer der ist, den er / sie beansprucht!" Infolgedessen ist es gefährlich, diese Einstellung außerhalb des unmittelbaren Wiederherstellungsbedarfs aktiviert zu lassen.
Sobald Sie sich angemeldet haben, können Sie das obige Passwort zurücksetzen.
quelle
Für Windows-Variante - Auch ich habe diesen bösen Fehler aufgrund von pgAdmin für meine Windows x64-Installation von Version 9.2 erlebt. Meine Produktion war gelähmt.
Im Ordner
C:\Program Files\PostgreSQL\9.2\data
oderC:\Program Files (x86)\PostgreSQL\9.**x**\data
finden Sie die Textdatei pg_hba.conf .Suchen Sie die folgenden Zeilen:
und ändern Sie METHODE md5 in "Vertrauen" wie folgt:
Vom
Windows>Run
Typ „services.msc“ und [Eingabe] , um die richtige PostgreSQL - Instanz finden und neu starten.Ihre DB-Sicherheit ist jetzt weit aufgerissen! Beachten Sie die Warnung, sie nach dem Ändern der Ablaufzeit des Benutzerkennworts auf das Jahr 2099 für alle relevanten Benutzer an md5 zurückzugeben.
quelle
Wenn Sie dies noch nicht versucht haben, überprüfen Sie Ihre Datei pg_hba.conf. Es wird so etwas wie /var/lib/pgsql/9.3/data/pg_hba.conf (Fedora 20) heißen; Möglicherweise müssen Sie 'find / -name pg_hba.conf' verwenden, um es zu finden.
Ändern Sie am Ende der Datei die 'METHOD'-Werte für lokale Tests in' trust '(vollständige Informationen finden Sie in den Postgres-Dokumenten). Starten Sie den Computer neu, um sicherzustellen, dass alles sauber gestartet und die neuen Parameter gelesen werden.
Hoffentlich heilt dies Ihre Leiden. Es hat meine Probleme mit Fedora 20 mit PostgreSQL 9.3 gelöst.
UPDATE 14.10.2016:
Unter Ubuntu lautet der benötigte Dateiname
/etc/postgresql/9.5/main/pg_hba.conf
. Ändern Sie es nur für lokale Tests so , dass es folgendermaßen aussieht:Die beiden Zeilen mit METHODE "Vertrauen" sind neu. Sie ermöglichen es Ihnen, eine Verbindung ohne Benutzernamen / Passwort herzustellen.
Wenn Sie fertig sind, müssen Sie den Server neu starten über:
quelle
pg_hba.conf
dies wirksam wird, benötigen Sie nur ein erneutes Laden, keinen Neustart. Darüber hinaus sieht Ihr Vorschlag unvollständig aus, da nicht klar ist, wie er das Problem am Ende lösen würde.Ich hatte gerade das gleiche Problem und es stellte sich heraus, dass ich mehrere Benutzer mit demselben Namen hatte (unterschiedliche Fälle). Nachdem ich das Eigentum zusammengelegt und eines entfernt hatte, war es zumindest klar. Abhängig von der Verbindungsmethode wurde der Fall nicht unbedingt zur Authentifizierung übertragen.
quelle