Wie stehe ich mit Pgadmin3 eine Verbindung zu einer Remote -PostgreSQL -Datenbank auf Ubuntu her?

dba.stackexchange https://dba.stackexchange.com/questions/18717

  •  22-10-2019
  •  | 
  •  

Frage

Ich versuche, eine PostgreSQL -Datenbank auf einem Ubuntu -Gerät einzurichten. Ich möchte mit Pgadmin3 von einem Remote -Computer mit Pgadmin3 zugreifen können. Wie richte ich das ein?

Ich habe die PostgreSQL -Datenbank auf Ubuntu mithilfe von: installiert:

sudo apt-get install postgresql

In meinem /etc/postgresql/9.1/main/pg_hba.conf Habe ich diese Zeile:

host    all    all    all    password

Daher sollten Verbindungen von allen IPv4-Adressen akzeptiert werden, und Passwörter sollten in klarem Text gesendet werden (dies stammt aus Entwicklungsgründen).

Wenn ich diesen Befehl ausführe, um zu sehen, welche Dienste ausgeführt werden:

sudo netstat -tulpn

Ich kann diese Zeilen sehen, die zeigen, dass PostgreSQL Verbindungen am Standardport annimmt:

tcp    0    0    127.0.0.1:5432    0.0.0.0:*    LISTEN
3561/postgres

Wenn ich versuche, eine Verbindung zu diesem PostgreSQL -Server von einem Remote -Computer auf demselben lokalen Netzwerk herzustellen, erhalte ich diese Fehlermeldung:

Server hört nicht zu

Der Server akzeptiert keine Verbindungen: Die Verbindungsbibliotheksberichte

Könnte keine Verbindung zum Server herstellen: Die Verbindung verweigert sich der Server auf Host "10.0.1.7" und das Akzeptieren von TCP/IP -Verbindungen auf Port 5432?

ich benutzte postgres als Benutzername und kein Passwort. Aber ich habe es auch versucht mit postgres als Passwort. Auf dem lokalen Server kann ich mich mit:

sudo -u postgres psql postgres

Wie kann ich eine Verbindung zu einer PostgreSQL -Datenbank herstellen, die auf Ubuntu von einem Remote -Computer mit PGADMIN3 ausgeführt wird?

War es hilfreich?

Lösung

Die Zeile in Ihrem Netstat -Bericht zeigt, dass die Datenbank nur auf Localhost: 5432 (127.0.0.1) für eingehende TCP -Verbindungen zuhört.

Proto Recv-Q Send-Q Local Address   Foreign Address  State   PID/Program name
tcp        0      0 127.0.0.1:5432  0.0.0.0:*        LISTEN  3561/postgres

So kann es nur lokale TCP -Verbindungen akzeptieren, unabhängig davon, welche Berechtigungen Sie in pg_hba.conf angegeben haben. pg_hba.conf gibt nur zulässige Verbindungen an, gibt jedoch nicht an, welche Schnittstellen Ihr Dienst anhören wird.

Die Adressen, auf die der Server hört, wird mit dem angegeben Hören_adresse GUC in postgreSQL.conf. Wenn der Server auf Remote -Verbindungen zuhören soll, sollten Sie die IP (en) angeben, dass Sie ihn anhören oder * So hören Sie alle verfügbaren Schnittstellen des Hosts an.

Damit Ihr PostgreSQL Server alle Schnittstellen auf dem Host anhört, sollten Sie die folgende Zeile in postgreSQL.conf haben:

listen_addresses = '*'
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit dba.stackexchange
scroll top