Ich habe gerade PostgreSQL 9.4 unter Ubuntu 15.10 installiert.
- Ich habe einen Benutzer mit erstellt
createuser -P myuser
- Ich habe eine Datenbank mit erstellt
createdb -O myuser mydatabase
- Ich habe bearbeitet
pg_hba.conf
und hinzugefügtlocal mydatabase myuser md5
- Ich habe PostgreSQL mit neu gestartet
sudo service postgresql restart
Benutzer myuser ist nur ein PostgresSQL-Benutzer und hat kein Benutzerkonto unter Ubuntu.
Wenn ich versuche, eine Verbindung zur Datenbank psql -W mydatabase myuser
herzustellen, schlägt dies mit fehl psql: FATAL: Peer authentication failed for user "myuser"
.
PostgreSQL läuft…
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Thu 2016-03-03 09:53:00 CET; 9min ago
Process: 22219 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 22219 (code=exited, status=0/SUCCESS)
Mar 03 09:53:00 SERVER01 systemd[1]: Starting PostgreSQL RDBMS...
Mar 03 09:53:00 SERVER01 systemd[1]: Started PostgreSQL RDBMS.
... und zuhören.
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:postgresql *:* LISTEN
tcp6 0 0 localhost:postgresql [::]:* LISTEN
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 151534 /var/run/postgresql/.s.PGSQL.5432
Was muss ich tun, um eine Verbindung mit dem Benutzer myuser zur Datenbank mydatabase herzustellen ?
Zuerst ... überprüfen Sie, ob Sie die Zeilen haben, die dem Benutzer myuser in pg_hba.conf erlauben. Zum Beispiel:
Oder andere Berechtigungszeilen für IPV4 (und IPv6, falls Sie diese verwenden) mit: TYPE DATABASE USER ADDRESS METHOD
Führen Sie nach dieser Überprüfung die Datei psql wie folgt aus:
Geben Sie dann bei der angeforderten Eingabeaufforderung das Kennwort myuser des Benutzers ein.
quelle
'*'
und diehost all all 0.0.0.0/0 md5
Regel hinzugefügt . Musste die Peer-Authentifizierung nicht entfernen.-h localhost
Ich habe gerade mit dem Parameter gearbeitet. Beste Antwort, da Sie bei einer Standardinstallation höchstwahrscheinlich nicht die Konfiguration berühren müssen.