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örport
netstat -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 netstat
Ausgabe 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).