Fernzugriff auf die PostgreSQL-Datenbank

Fernzugriff auf die PostgreSQL-Datenbank

Ich muss von einem Remotecomputer auf einem VPS bei DigitalOcean mit 12.10 und PostgreSQL 9.1 auf eine PostgreSQL-Datenbank zugreifen.

Wie mache ich das? Mir ist aufgefallen, dass Port 5432 geschlossen ist. Wie öffne ich ihn?

Antwort1

Um den Port 5432 zu öffnen, bearbeiten Sie Ihre /etc/postgresql/9.1/main/postgresql.confund ändern Sie

listen_addresses='localhost'

Zu

listen_addresses='*'

und starten Sie Ihr DBMS neu

invoke-rc.d postgresql restart

Jetzt können Sie sich verbinden mit

$ psql -h hostname -U username -d database

Wenn Sie sich nicht authentifizieren können, müssen Sie Ihrem Benutzer Zugriffsrechte auf Ihre Datenbank erteilen

Bearbeiten Sie Ihre

/etc/postgresql/9.1/main/pg_hba.conf

und füge hinzu

host all all all md5

(Dies gilt für einen weit geöffneten Zugang. Für strengere Kontrollen konsultieren Sie diepg_hba.conf-Dokumentationund passen Sie sie Ihren Bedürfnissen entsprechend an).

Hiernach ist auch ein Reload erforderlich

invoke-rc.d postgresql reload

Ich muss nicht erwähnen, dass dies eine Basiskonfiguration ist. Jetzt sollten Sie darüber nachdenken, Ihre Firewall zu ändern und die Sicherheit Ihres DBMS zu verbessern.

Antwort2

Das hier funktioniert nicht mehr (falls es jemals funktioniert hat):

Host alle alle * md5

Die korrekten möglichen Zeilen hierfür sind:

Host alle alle 0.0.0.0/0 md5 #ipv4 Bereich

Host alle alle ::0/0 md5 #ipv6 Bereich

Host alle alle alle MD5 #alle IP

Quelle

Antwort3

Die Meldung „Server hört nicht zu“ liegt bei mir daran, dass ich die Nummer im Archiv postgresql.conf nicht gelöscht habe. Ich meine:

#listen_addresses='localhost'

Zu:

listen_adressen='*'

(Entschuldigung für mein Englisch).

Antwort4

Nach der Konfiguration müssen Sie Folgendes einstellen:

In/etc/postgresql/10/main/postgresql.conf

# Connection Settings -

listen_addresses = '*'          # what IP address(es) to listen on;

In/etc/postgresql/10/main/pg_hba.conf

# IPv4 local connections:
host    all             all             0.0.0.0/0           md5

Starten Sie Ihren Server neu:

sudo /etc/init.d/postgresql restart

verwandte Informationen