FATAL: Peer authentication failed for user

Hallo @all,

Ich möchte meine PostgreSQL-DB’s mit Zabbix überwachen.
Als erstes mal meine Systemumgebung:
OS: Centos 7
PostgreSQL: 9.4.6
Zabbix: 2.4
Es ist beschrieben, das man einen DB-User “monitoring” mit Grant “connect” auf alle DB’s anlegen soll. Habe ich getan. Der Zabbix-Agent läuft unter dem System-User “zabbix”.

In der pg_hba.conf ist die folgende Zeile hinzugefügt.

local     all          monitoring                                        ident map=monitoring

Dazu dann der Eintrag in der pg_ident.conf

monitoring      zabbix                  monitoring

Alles fein säuberlich gespeichert und pg_ctl reload gemacht.
Da es sich um eine DB im Prod-Betrieb handelt habe ich keine Neustart gemacht, aber ein reload sollte eigentlich auch reichen.

Zum Test versuche ich mich auf der Console dann an der DB mit folgendem Befehl anzumelden.

psql -U monitoring -d postgres

Leider funktioniert das ganze nicht, ich bekommen seltsamer Weise dann auch noch folgende Fehlermeldung.

FATAL: peer authentication failed for user monitoring

Eigentlich hätte ich wenigstens erwartet “IDENT authentication failed”

Kann mir jemand sagen, fehlt mir noch was? Mache ich was falsch?
Was hat ein Ident-Server damit zu tun und was ist das?

mfg

der erste passende Eintrag wird genommen, vermutlich hast da also drüber was stehen, was zuerst greift. Ident ist so eine komische Geschichte über tcp/113, die aber wohl keiner mehr macht. Ist aus historischen Gründen (so vermute ich) in der pg_hba.conf und sorgt so gern für Verwirrung.

Hallo “akretschmer”,

ich habe das berücksichtigt und daher den Standardeintrag für die lokale anmeldung geändert und somit habe ich lokal nur 2 User, die sich anmelden dürfen. User postgres mit Passwort und User monitoring per ident, was nicht funktioniert.

local all postgres md5

Damit ident funktioniert muß ein passender Dienst laufen, ist dies der Fall?

Ansonsten erstelle einfach einen schwach privilegierten User und TRUSTe ihm oder arbeite mit einer .pgpass