Das Problem ist immer noch Ihre pg_hba.conf
Datei*.
Diese Zeile:
local all postgres peer
Sollte lauten:
local all postgres md5
* Der Speicherort dieser Datei ist nicht sehr konsistent. Der Befehl locate pg_hba.conf
sollte helfen; Hier sind einige Beispiele:/etc/postgresql/*/main/pg_hba.conf
und /var/lib/pgsql/data/pg_hba.conf
.
Vergessen Sie nach dem Ändern dieser Datei nicht, Ihren PostgreSQL-Server neu zu starten. Unter Linux wäre das sudo service postgresql restart
.
Dies sind kurze Beschreibungen beider Optionen gemäß den offiziellen PostgreSQL-Dokumenten zu Authentifizierungsmethoden.
Peer-Authentifizierung
Bei der Peer-Authentifizierungsmethode wird der Betriebssystem-Benutzername des Clients vom Kernel abgerufen und als zulässiger Datenbank-Benutzername (mit optionaler Benutzernamenzuordnung) verwendet. Diese Methode wird nur bei lokalen Verbindungen unterstützt.
Passwortauthentifizierung
Die passwortbasierten Authentifizierungsmethoden sind md5 und password. Diese Methoden funktionieren ähnlich, mit Ausnahme der Art und Weise, wie das Passwort über die Verbindung gesendet wird, nämlich MD5-gehasht bzw. Klartext.
Wenn Sie sich überhaupt Sorgen über "Passwort-Sniffing"-Angriffe machen, dann ist md5 vorzuziehen. Ein einfaches Passwort sollte nach Möglichkeit immer vermieden werden. Allerdings kann md5 nicht mit der Funktion db_user_namespace verwendet werden. Wenn die Verbindung durch SSL-Verschlüsselung geschützt ist, kann das Passwort sicher verwendet werden (obwohl die SSL-Zertifikatsauthentifizierung möglicherweise die bessere Wahl ist, wenn man auf die Verwendung von SSL angewiesen ist).
Beispielspeicherort für pg_hba.conf
:/etc/postgresql/9.1/main/pg_hba.conf