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?
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.
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.
Kennt die Datenbank den Benutzer unter dem du verbinden willst?
Eine exakte Beschreibung des Fehlers anhand der Fehlermeldung könnte auch Wunder wirken
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 > >
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?
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?
@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
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?
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.
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,
es funzt!!!
…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.
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.
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?