Remote-Postgres-Verbindung

Remote-Postgres-Verbindung

Nun, ich habe anscheinend alles versucht, was ich finden konnte – nicht viel –, kann mir aber nicht erklären, warum ich keine Remoteverbindung zu meiner Datenbank herstellen kann.

Das habe ich:

#postgresql.conf
listen_addresses = '12.34.56.78,localhost' # included my local ip
port = 5432                                # the port I'm trying to connect with
tcpip_socket = true                        

#pg_hba.conf
host    all         mydbuser       12.34.56.78/32         md5

I receive: connection to database 'name' failed, could not connect to server: Connection refused.
 Is the server running on host "domain.com" and accepting
 TCP/IP connections on port 5432?

netstat -ant | grep 5432 #returns nothing 

netstat -nltp | grep 5432: gibt nichts zurück

Lösung

Ich glaube wirklich, dass mich ein schlecht geschriebener Blog-Beitrag zu diesem Thema davon abgehalten hat, das zu verstehen. Andererseits gibt es ein großartiges Tutorial unterSlice-Hosthat mir die Sache aufgeklärt und wenn jemand mit den gleichen Problemen hierher kommt, empfehle ich, es durchzulesen. Slicehost verdient wirklich Lob für die Qualität und Pflege seiner Tutorials, obwohl es meiner Meinung nach ein gutes Geschäft ist, Leuten bei der Nutzung ihres Dienstes zu helfen.

Vielen Dank an alle, die geantwortet haben.

Antwort1

Könnten Sie auf dem Datenbankserver Folgendes ausführen und die Ausgabe posten:

  • ps axf | grep postgres
  • der Abhörportnetstat -nltp | grep 5432

Um Firewalls zu umgehen, versuchen Sie, Port 80 oder 8080 statt 5432 zu verwenden.

Stellen Sie eine Verbindung von 12.34.56.78/32 her (dies ist der zulässige Bereich in Ihrer pg_hba.conf)?

Können Sie 12.34.56.78 anpingen?

Die leere netstatAusgabe lässt darauf schließen, dass Ihr Postgres-Prozess den Port nicht überwacht!

Wird beim Neustart der Datenbank etwas Interessantes in /var/log/postgresql/ angezeigt?

Antwort2

Hast du deine Firewall überprüft? Möglicherweise hast du eine Regel, die den Zugriff auf diesen Port verhindert.

Antwort3

Hosten Sie alle Mydbuser 12.34.56.78/32 md5

Diese Zeile in Ihrer pg_hba.conf bedeutet, dass nur der Benutzer mydbuser vom Host 12.34.56.78 eine Verbindung herstellen kann.

Wenn dies also der PG-Server ist, müssen Sie eine weitere Zeile für den Host oder das Subnetz hinzufügen (wenn Sie also eine Verbindung mit 12.34.45.01-254 herstellen möchten, geben Sie 12.34.56.00/24 ​​ein).

verwandte Informationen