Hallihallo,
ich versuche nun schon seit Stunden herauszufinden, warum ich immer und immer wieder die folgende Fehlermeldung bekomme:
FATAL: Ident authentication failed for user "rootdb"
Unter zu Hilfenahme folgender Schritte, habe ich einen neuen Nutzer angelegt und eine Datenbank für den Nutzer angelegt:
1. su postgres
2. createuser rootdb -P
3. createdb -O rootdb -E UTF8 mynewdb
4. psql
5. postgres=# \l
List of databases
Name | Owner | Encoding
-----------+----------+----------
mynewdb | rootdb | UTF8
postgres | postgres | UTF8
template0 | postgres | UTF8
template1 | postgres | UTF8
(4 rows)
Soweit so gut. Ein “\q” lässt mich den psql wieder verlassen und ich versuche mich mal als rootdb anzumelden:
psql -U rootdb
psql: FATAL: Ident authentication failed for user "rootdb"
psql -U rootdb -d mynewdb
psql: FATAL: Ident authentication failed for user "rootdb"
Fehlerlog meint das selbe:
rootdb rootdb FATAL: Ident authentication failed for user "rootdb"
mynewdb rootdb FATAL: Ident authentication failed for user "rootdb"
Durch Lesen vieler Forum-Einträge und Passagen in diversen meist veralteten Handbüchern, hab ich schon in der postgresql.conf und pg_hba.conf rumgeschmiert. Auch das bringt nix. Die pg_ident.conf hab ich gar nicht von der *.sample in eine richtige Datei umbenannt und auch in postgresql.conf ist sie nicht einkommentiert. Deshalb ist es ja so fatal: Warum möchte er eine “Ident Authentification”, wenn gar keine eingeschaltet ist? Denn in der pg_hba.conf steht nur was von md5 und nicht ident.
# TYPE DATABASE USER CIDR-ADDRESS METHOD
@remove-line-for-nolocal@# "local" is for Unix domain socket connections only
@remove-line-for-nolocal@local all all md5 # @authmethod@
# IPv4 local connections:
host all all 127.0.0.1/32 md5 #@authmethod@
host all all 192.168.0.0/24 md5
# IPv6 local connections:
host all all ::1/128 md5 #@authmethod@
Ich habs auch mit phpPgAdmin probiert. Der meint nur: “Anmeldung fehlgeschlagen”, wenn ich rootdb und sein Passwort verwenden will. Der PGAdmin3 ist da schon auskunfstsbereiter:
Access to database denied
The server doesn't grant access to the database: the server reports
FATAL: no pg_hba.conf entry for host "192.168.29.1", user "rootdb", database "postgres", SSL off
Natürlich darf rootdb nicht auf die DB postgres zugreifen. Der soll ja auf mynewdb, aber er tuts net … auch wenn ich sie ihm per Konsole angebe.
Langsam aber sicher bin ich am Verzweifeln. Warum muss man soviele Einstellungen machen? Warum können die nicht per Default mitkommen? Und warum sind die nicht ordentlich dokumentiert? Das einstellen von “tcpip_socket” scheint ja in der Version 8.1.6, die ich benutze so ziemlich überholt zu sein. Was fehlt mir hier noch? Irgendwie muss das doch zu stande zu bekommen sein …