Anmeldung mit phpPgAdmin nach PostreSQL-Update nicht mehr möglich

Hallo zusammen,

ich habe vor ein paar Monaten auf meinem Debian (damals noch Etch) Vserver PostgreSQL 8.1.11 mit PostGIS installiert. Außerdem auch Webmin und phpPgAdmin.

Ein dist-upgrade (auf Lenny) und ein paar update-/upgrade-Durchläufe später finde ich jetzt auch eine Version 8.3 von PostgreSQL in den entsprechenden Verzeichnissen. Laut Webmin- und psql-Ausgaben ist z.Zt. wohl aber eine Version 8.1.15 “aktiv”. (Wo kann ich das denn eigentlich selbst einstellen?) Und auch phpPgAdmin benutzt offenbar diese Version, wie mir deren Logfile nach meinen erfolglosen Einloggversuchen verrät:

FATAL:  Ident-Authentifizierung für Benutzer »mein_user« fehlgeschlagen

Weiter oben im Log finde ich auch ein:

LOG:  unvollständiges Startpaket

Gibts hier ein Problem?

Vorher habe ich natürlich in postgresql.conf

listen_addresses = '*'

und in pg_hba.conf (an erster Position)

host all mein_user 0.0.0.0 0.0.0.0 md5

eingetragen und den Server auch neugestartet.

Auf der Konsole hingegen klappt die Anmeldung via TCP/IP:

psql -h localhost -U mein_user

Könnte es ein Problem mit den Zugriffsrechten geben? Auf welche Verzeichnisse/Dateien müsste denn der Webbenutzer ggf. zugreifen können?

Danke schon mal und beste Grüße,
Frank

Hallo!

Du könntest mit Select version() herausfinden ob die Webtools auf das gleiche Postgres zugrifen wie psql. Im Zweifel liefert psql die vertrauenswürdigeren Ergebnisse :wink:

Gruß Uwe

Du kannst via ‘select version()’ abfragen, welche PG-Version läuft. Möglicherweise laufen bei Dir 2, die 8.1 auf Port 5432 und die 8.3 auf 5433 oder so.

]
Und auch phpPgAdmin benutzt offenbar diese Version, wie mir deren Logfile nach meinen erfolglosen Einloggversuchen verrät:

FATAL: Ident-Authentifizierung für Benutzer »mein_user« fehlgeschlagen

>

Das sagt nix über die Version, sondern nur, daß als Auth-methode Ident verwendet wird und der sich anmeldene User nicht der ist, als der er sich bei der Anmeldung ausgibt.

> Weiter oben im Log finde ich auch ein:
>
> ```text
LOG:  unvollständiges Startpaket

Gibts hier ein Problem?

Kannst Du erst mal in den Skat drücken.

Vorher habe ich natürlich in postgresql.conf

listen_addresses = ‘*’

>
> und in pg_hba.conf (an erster Position)
>
> ```text
host all mein_user 0.0.0.0 0.0.0.0 md5

eingetragen und den Server auch neugestartet.

Auf der Konsole hingegen klappt die Anmeldung via TCP/IP:

psql -h localhost -U mein_user

>
> Könnte es ein Problem mit den Zugriffsrechten geben? Auf welche Verzeichnisse/Dateien müsste denn der Webbenutzer ggf. zugreifen können?

Nein, der Webuser braucht keine speziellen Rechte, er spricht mit der DB und nicht mit dem Filesystem. Ich vermute mal, Du hast 2 Installationen und daher ein Problem (das ist kein grundsätzliches Problem, ich habe auch 8.3 und 8.4dev gleichzeitig laufen).

Vermutlich editierst Du nicht die pg_hba.conf, die von der Instanz benutzt wird, mit der Du Dich verbindest. Wenn Du mit psql Dich verbunden hast, prüfe mit select version() die Version und schaue Dir mit 'show hba_file;' an, welche pg_hba.conf benutzt wird.
\
\
Andreas

Hallo und danke für Eure Antworten!
Leider komme ich erst heute wieder dazu …

Zusätzlich habe ich auch noch eine 7.4 anzubieten! :slight_smile: Und es laufen sogar alle drei und werden nach jedem Reboot wieder gestartet (was ich mittels /etc/init.d/postgresql-x.x start bzw. stop feststellen konnte).

Da hatte ich mich missverständlich bzw. unvollständig ausgedrückt. Ich meinte, dass die Fehlermeldungen nach meinen bei phpPgAdmin gescheiterten Einloggversuchen in die zur entsprechenden Version gehörende Log-Datei, nämlich in die postgresql-8.1-main.log, geschrieben wurden. Also schließe ich auf die Version 8.1.15.

Hmm, das heißt? Und wie will er das festgestellt haben? Was kann denn da von welchen zu erwartenden Daten abweichen? Sowohl Benutzername als auch Passwort stimmen ja überein, wie ich an der Konsole mit der selben psql-Version überprüfen kann.

‘select version()’ habe ich gemacht -> 8.1.15.
Das scheint es aber auch nicht zu sein. Zum einen zeigt die Ausgabe von ‘show hba_file;’ auf genau die vermutete Datei, nämlich /etc/postgresql/8.1/main/pg_hba.conf. Zum anderen habe ich sogar alle drei fraglichen Dateien angepasst - ohne Erfolg. :frowning:

Noch irgendwelche Ideen?

Danke und Grüße,
Frank

Ok, habs jetzt hinbekommen! Hatte noch nicht in die config.inc.php von phpPgAdmin reingeschaut, weshalb ich nicht drauf kam, dass man sich ja (per Voreinstellung!) auch via UNIX domain socket anmelden kann. Bis dahin hatte ich nur mit host-Einträgen herumgespielt. Danke nochmal!