it-swarm.com.de

Postgres-Server hört nicht zu

Ich versuche mit meinem Client (Macbook Pro) eine Verbindung zu einer Postgres-Datenbank herzustellen, die sich in einem anderen PC im selben Netzwerk (Ubuntu) befindet Ich kann die Datenbank vom Host aus mit pgAdmin sehen, aber ich verbinde mich mit localhost kann nicht vom Client sehen.

Ich habe alle Verbindungen in pg_hba.conf und postgresql.conf zugelassen.

Ich versuche, vom Client über pgAdmin eine Verbindung zum IP-Server herzustellen, auf dem die Datenbank gespeichert ist (192.168.1.34), und Port 5432

enter image description here Und ich bekomme diesen Fehler enter image description here Was mache ich falsch?

Fehlt mir etwas?

Nach dem Lesen von Vorschlägen kann ich sagen: Auf dem Ubuntu-Computer (Heimtestserver) habe ich keine Firewall. Postgres läuft.

Ich habe von der Ubuntu-Konsole aus versucht, auf die Datenbank zuzugreifen: psql -h 127.0.0.1 mydatabase postgres und kann eine Verbindung herstellen (was bedeutet, dass der Server läuft und der Benutzername ok ist) Aber wenn ich versuche, auf dieselbe Datenbank zuzugreifen , von der gleichen Maschine, localhost mit der IP ändern, kann ich keine Verbindung herstellen. Sollte psql -h 127.0.0.1 mydatabase postgres nicht derselbe sein wie psql -h 192.168.1.34 mydatabase postgres, wenn ich mich vom Server aus verbinde?

Vielleicht ist es im Loopback, wie Alain vorschlug?

5
Pablo Pardo

Es wird keine Verbindung hergestellt, so dass es wahrscheinlich nicht auf der richtigen Benutzeroberfläche empfangsbereit ist oder von der Firewall blockiert wird.

Laufen Postgres?

Sudo service postgresql status

Hören Postgres auf TCP/5432 über Ihre LAN-IP oder 0.0.0.0 (alle Schnittstellen)?

netstat -anpt | grep LISTEN

Es könnte nur auf 127.0.0.1 (Loopback) zu hören sein, was bedeutet, dass es vom Mac aus nicht erreichbar ist.

Wenn es nicht hört oder sich auf einem Loopback befindet, überprüfen Sie postgresql.conf auf listen_addresses:

http://www.postgresql.org/docs/9.1/static/runtime-config-connection.html

Läuft auf der Ubuntu-Box eine Firewall?

Stellen Sie sicher, dass von der IP-Adresse des Mac aus mindestens eingehende Verbindungen zu TCP/5432 zugelassen werden.

GUFW macht dies einfacher zu konfigurieren, aber es ist auch mit iptables möglich.

Weitere Referenz für das Ubuntu-Setup:

https://help.ubuntu.com/community/PostgreSQL

9
Alain O'Dea

Sie haben wahrscheinlich folgende zwei Dateien konfiguriert
pg_hba.conf
Host alle alle 0.0.0.0/0 md5
postgresql.conf
listen_addresses = '*'

Sie müssen überprüfen, ob der Port 5432 geöffnet ist: http://www.yougetsignal.com/tools/open-ports/

Wenn dies nicht der Fall ist, fügen Sie Ihren iptables eine Regel hinzu:
iptables -A INPUT -s 0/0 -p TCP -dport 5432 -j ACCEPT

0/0: Wenn Sie möchten, dass jemand darauf zugreift. 
Sie können es in eine bestimmte IP-Adresse oder einen Bereich von IP-Adressen ändern.

8
Danish Khakwani

In Ubuntu 17.04 ist der Standardport 5433. Überprüfen Sie die Datei postgresql.conf im Pfad /etc/postgresql/9.6/main

Sie haben zulassen, dass postgresql Anforderungen von einem externen Netzwerk akzeptiert. Dazu müssen Sie zwei Dateien ändern, die sich unter /etc/postgresql/{version_code}/main Befinden. Die erste ist pg_hba.conf, open und 

Host all all ::1/128 md5 in Host all all 0.0.0.0/0 md5 ändern

Der zweite ist postgresql.conf, offen und

listen_address = 'localhost' in listen_address = '*' ändern

Starten Sie nun den Postgre-Server neu.