keine Verbindung zu bestehender Datenbank

Hallo Forum,

ich habe auf einem Ubuntu 6.06 Server eine PostgreSQL 8.1.9 Datenbank laufen. Der Zugriff via Kommandozeile funktioniert. Nun habe ich für übersichtlichere Zugriffe phpPgAdmin 4.0.1 auf dem Server installiert.

Wenn ich mich mit meinem Account in phpPgAdmin einlogge (mit dem auch die DB erstellt wurde), wird jedoch keine bestehende DB angezeigt. Womit genau wird denn hier verbunden?

In phpPgAdmin steht:
Server - PostgreSQL, Host - localhost, Port - 5432, Benutzername - meiner

Ich kann auch keine neue DB anlegen… superuser - nein

Was für zusätzliche Einstellungen muss ich denn vornehmen, damit ich auf “meinem Server” eingeloggt bin?


Gruß
GT

Schuß ins Blaue: Dein Server ist so eingestellt, daß er zunächst nur via Socket erreichbar ist. Vermutlich scheitert der Zugroff via psql auch, wenn Du noch -h localhost als Parameter zugibts.

Was für zusätzliche Einstellungen muss ich denn vornehmen, damit ich auf “meinem Server” eingeloggt bin?


Gruß
GT

Lese die pg_hba.conf Deines Systems. Dort wird der Zugriff geregelt. Und es ist ausreichend kommentiert.

Andreas

Danke erstmal für die schnelle Antwort. Möglicherweise wäre der threat auch unter der Rubrik Installation besser aufgehoben gewesen… sorry

Also in der pg_hba.conf habe ich folgende Einträge:

Database administrative login by UNIX sockets

local all postgres trust # TYPE DATABASE USER CIDR-ADDRESS METHOD

“local” is for Unix domain socket connections only

local all all md5

IPv4 local connections:

host all all 127.0.0.1/32 md5

IPv6 local connections:

host all all ::1/128 md5

Connections for all PCs on the subnet

TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD

host all all xxx.xx.x.0 255.255.255.0 md5



Sollte ich aufgrund dieser Einstellungen nicht gesicherten Zugriff auf die Datenbank auf dem Server haben? Habe ein Programm (ebenfalls auf gleichem Server) welches Einträge in die DB vornimmt.

Nur eben mit phpPgAdmin habe ich noch keine Verbindung zur Datenbank herstellen können.



Wäre für weitere Tipps oder einschläge Tutorials etc dankbar. Habe hier im Forum leider nix finden können.



Danke.

Kennt die Datenbank den Benutzer unter dem du verbinden willst?
Eine exakte Beschreibung des Fehlers anhand der Fehlermeldung könnte auch Wunder wirken :wink:

Gruß Uwe

Kennt die Datenbank den Benutzer unter dem du verbinden willst?

Ja. Über psql kann ich mich ja bei der Datenbank anmelden.

Eine exakte Beschreibung des Fehlers anhand der Fehlermeldung könnte auch Wunder wirken > :wink: >

Nun in phppgadmin erscheint lediglich bei login to meinDBserver ‘login failed’. Allerdings liegt es womoglich daran, dass keine Verbindung zu meinem Datenbank-Server besteht. Auf der linken Seite unter ‘Server’ ist das Elefantensymbol vor ‘meinDBserver’ nämlich rot gekreuzt.

Kann man anhand meiner pg_hba.conf (weiter oben) sehen, ob ich dort noch andere Einstellungen vornehmen muss?

Gruß Christian

Auch bei Verwendung der Optionen -h und -p ?

Kann man anhand meiner pg_hba.conf (weiter oben) sehen, ob ich dort noch andere Einstellungen vornehmen muss?
Gruß Christian

Falls die xxx.xx.x da tatsächlich stehen und Du via der IP (nicht localhost) zugreifst: ja.

Andreas

Database administrative login by UNIX sockets

local all postgres trust # TYPE DATABASE USER CIDR-ADDRESS METHOD

“local” is for Unix domain socket connections only

local all all md5

IPv4 local connections:

host all all 127.0.0.1/32 md5

IPv6 local connections:

host all all ::1/128 md5

Connections for all PCs on the subnet

TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD

host all all xxx.xx.x.0 255.255.255.0 md5

Bist Du dir sicher, dass phpgadmin md5 password-encryption unterstützt?

Versuchs doch mal mit plain text passwords für from local und 127.0.0.1/32.

Grüße

Jochen

Vergiss den Kommentar. Meine pg_hba.conf sieht für local connections auch wiefolgt aus:

# "local" is for Unix domain socket connections only
local   all         all                               ident sameuser
# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
# IPv6 local connections:
host    all         all         ::1/128               md5

(alledings verwende ich den phppgadmin nicht…)

Was mich wundert, ist dass du keine qualifizierte Fehlermeldung bekommst, insodern sollten wir vielleicht mal darauf abstellen

Checke mal deine apache logfiles und deine error-settings in der php.ini.

Vielleicht werden ja die Fehlermeldungen nur unterdrückt?


Grüße

Jochen

@akretschmer
ich habe natürlich die Ip-Range (141.65.4.0) eingetragen, in der mein PC steht, von dem aus ich auf den Server zugreifen möchte

Auch bei Verwendung der Optionen -h und -p ?

…nein. scheinbar nicht.

  • mit psql -h localhost erscheint
    psql: FATAL database “benutzer” existiert nicht :confused:

  • mit psql -h 141.65.7.61 (=Server)
    psql: could not connect to server: Connection refused. IS Server running on host “141.65.7.61” and accepting TCP/IP on Port 5432?

@dasblauehandtuch

Checke mal deine apache logfiles und deine error-settings in der php.ini.

…habe ich. display_errors = On

Nachdem ich nun in der pg_hba nochmal alles zurückgestzt und neu eingetragen (gleicher Inhalt) habe, komme ich nicht mehr an pgphpadmin

Folgende Fehlermeldungen treten auf…
[php]
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /etc/phppgadmin/config.inc.php:120) in /usr/share/phppgadmin/libraries/lib.inc.php on line 55

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /etc/phppgadmin/config.inc.php:120) in /usr/share/phppgadmin/libraries/lib.inc.php on line 55

Warning: Cannot modify header information - headers already sent by (output started at /etc/phppgadmin/config.inc.php:120) in /usr/share/phppgadmin/classes/Misc.php on line 315[/php]

Haben diese Meldungen etwas damit zu tun? Warum erscheinen die plötzlich? M.E. habe ich keine Änderungen in dem Sinne vorgenommen.

Gruß Christian

Schalt die Brandschutzauer ab g. Oder sorg dafür, daß PG an Netzwerkinterface lauscht. Welche Version?

Andreas

zu 1.)
gib mal ne Datenbank an

machma ‘psql -h localhost DATENBANKNAME’

zu 2.)
siehe Andreas oder hosts.allow?

Ja haben Sie, ohne ordendlich initialisierte session wird der phppgadmin nicht laufen.

Du bekommst den Fehler headers already sent by by (output started at /etc/phppgadmin/config.inc.php:120) in …

Ich denke, du hast irgendwelche leerzeilen in die config.inc eingefügt. mach die raus.


Warum erscheinen die plötzlich?

Keine Ahnung, aber is gut dass sie da sind :wink:

Nachtrag:
Due Fehler, die hier ausgespückt werden, haben ausschließlich mit apache und php und der Anwendung(phpgadmin) zu tun, können also unter KEINEN UMSTÄNDEN durch eine änderung in der pg_hba.conf erstmals auftreten,

Dies nur zur Erläuterung der Zusammenhänge …

es funzt!!! :slight_smile:
…soweit erstmal zu den guten Nachrichten.

Ich denke, du hast irgendwelche leerzeilen in die config.inc eingefügt. mach die raus.

Korrekt. Ein Leerzeichen am Ende der config.inc.php hat die Fehlermeldungen im Browser verursacht.

In der config.inc.php MUSS zudem ‘localhost’ unter Punkt ‘Hostname or IP address for server’ eingetragen sein. Das hatte ich zwischenzeitlich mal auf die Server-IP geändert. Mit der Server-IP bekomme ich keine Verbindung zum DB-Server.
DAS war möglicherweise der Fehler (habe ansonsten nichts weiter verändert), obwohl in dort in meiner Anfangskonfiguration ‘localhost’ eingetragen war. :confused:

machma ‘psql -h localhost DATENBANKNAME’

…auch richtig. Nur mit -h -p bekomme ich keine Verbindung. Da muss ich schon den konkreten Datenbanknamen mit angeben.

Da es jetzt soweit zu funktionieren scheint, danke ich erstmal für die schnellen + hilfreichen Tipps und wünsche schöne Feiertage.

Christian

hallo
ich habe das selbe problem:
psql: could not connect to server: Connection refused
Is the server running on host “localhost” and accepting
TCP/IP connections on port 5432?

wie richte ich das ein, dass der pgserver auf localhost:5432 lauscht?

Steht listen_addresses = ‘*’ in der postgresql.conf?

Andreas

hat sich erledigt:
tcpip_socket = true
in der postgresql.conf

sorry für die störung