2015-06-27 10 views
5

Ich versuche, mit meinem Client (Macbook Pro) zu einer Postgres-Datenbank auf einem anderen PC im selben Netzwerk (Ubuntu) zu verbinden Ich kann die Datenbank vom Host mit pgAdmin, die Verbindung zu localhost , aber ich kann nicht vom Kunden sehen.Postgres server nicht zuhören

ich erlaubt habe alle Verbindungen in pg_hba.conf und postgresql.conf

Ich versuche, vom Client über pgAdmin auf den IP-Server zu verbinden, 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?

bin ich etwas fehlt

Nach der Lektüre Anregungen kann ich sagen: auf dem Ubuntu-Maschine (home Testserver) Ich habe keine Firewall. Postgres läuft.

ich von der ubuntu-Konsole versucht haben, auf die Datenbank zuzugreifen: psql -h 127.0.0.1 mydatabase postgres und verbinden kann (was bedeutet, dass der Server läuft und username is ok) Aber wenn ich versuche, die gleiche Datenbank zugreifen zu können, aus dem gleichen Maschine, ändern localhost mit der IP, kann ich nicht verbinden. Sollte nicht psql -h 127.0.0.1 mydatabase postgres das gleiche wie psql -h 192.168.1.34 mydatabase postgres wenn ich vom Server verbinden?

Vielleicht ist in Loopback, wie Alain vorgeschlagen?

+0

Sie absolut sicher über Ihren Benutzernamen und das Passwort? – SteveFerg

Antwort

9

Es verbindet sich nicht, so dass es wahrscheinlich nicht auf die richtige Schnittstelle hört oder von der Firewall blockiert wird.

Wird postgres ausgeführt?

Ist Postgres hören auf TCP/5432 auf Ihrem LAN IP oder 0.0.0.0 (alle Schnittstellen)?

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

Wenn es nicht zuhört oder ist auf Loopbacküberprüfung postgresql.conf für listen_addresses:

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

Gibt es eine Firewall auf dem Feld Ubuntu?

Stellen Sie sicher, dass eingehende Verbindungen zu tcp/5432 mindestens von der IP des Macs zugelassen werden.

GUFW macht dies einfacher zu konfigurieren, aber es kann auch mit iptables getan werden.

Weitere Referenz für die Ubuntu-Setup:

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

+0

@ppardoz beantwortet dies Ihre Frage? Bitte markieren Sie es richtig, wenn dies der Fall ist. –

+0

Interessante Bearbeitung. Postgres läuft definitiv und erlaubt TCP-Verbindungen auf localhost. Das klingt nach einem Loopback oder pg_hba.conf erlaubt es Postgre nicht, sich von entfernten Hosts anzumelden. –

5

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

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

Wenn nicht, dann ist eine Regel zu Ihrem iptables hinzufügen:
iptables -Eingabe -s 0/0 -p tcp --dport 5432 -j AKZEPTIEREN

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

0

In ubuntu 17.04 Standard-Port ist 5433 Prüfdatei postgresql.conf in Pfad /etc/postgresql/9.6/main

Verwandte Themen