2017-12-12 1 views
0

ich folgte this tutorial.pgadmin, postgres und gogole cloud verbindung time out

Ich habe es geschafft, alles einzurichten und genau so zu tun, wie es im Tutorial erwähnt wurde.

Aber als ich versuchte, es mit PGADMIN 4 zu verbinden, bekomme ich Verbindungszeit und out und ich konnte es nie beheben.

dann fand ich this link, die den folgenden Befehl hat:

sudo -i -u postgres 
psql 
\conninfo 

dann ich Dosen siehe die folgende Meldung:

You are connected to database "postgres" as user "postgres" via socket in "/var/run/postgresql" at port "5432". 

Also nicht ich verstehe, was jetzt falsch ist, und wenn ich schreibe: sudo nano ../../etc/postgresql/9.3/main/pg_hba.conf , um den Inhalt der Datei zu sehen, und ich habe mein Passwort, es wird nicht akzeptiert.

Dann starte ich alles durch das Fenster zu schließen und wieder öffnen, dann kann ich die Datei auschecken:

# If you change this first entry you will need to make sure that the 
# database superuser can access the database using some other method. 
# Noninteractive access to all databases is required during automatic 
# maintenance (custom daily cronjobs, replication, and similar tasks). 
# 
# Database administrative login by Unix domain socket 
local all    postgres        peer 

# TYPE DATABASE  USER   ADDRESS     METHOD 

# "local" is for Unix domain socket connections only 
local all    all          peer 
# IPv4 local connections: 
host all    all    127.0.0.1/32   md5 
# IPv6 local connections: 
host all    all    ::1/128     md5 
# Allow replication connections from localhost, by a user with the 
# replication privilege. 
#local replication  postgres        peer 
#host replication  postgres  127.0.0.1/32   md5 
#host replication  postgres  ::1/128     md5 
# IPv4 remote connections for the tutorial: 
#host  all    all    127.0.0.1/32   md5 
#host  all    all    35.196.55.208/32  md5 
host  all    all    all      md5 

Die letzten 4 Zeilen, die ich hinzugefügt haben, das Problem zu beheben, aber noch nichts.

Was mache ich falsch? Ich schaue mir viele Tutorials an, und auch mehrere Seiten von Stack Overflow aber noch nichts!

Antwort

0

Sie haben keine Berechtigung zum Herstellen einer Remoteverbindung erteilt.

In der gegebenen Anleitung, Connecting remotely Abschnitt wird deutlich erwähnt, dass Sie Ihre IP-Adresse in der Datei pg_hba.conf angeben müssen.

Ersetzen Sie [YOUR_IPV4_ADDRESS] durch die Adresse Ihres lokalen Computers.

Klicken Sie außerdem auf der Seite Instanzen der Google Cloud Platform-Konsole auf die -Instanz, um die Seite Übersicht zu öffnen. Wählen Sie die Registerkarte Autorisierung. Klicken Sie unter Autorisierte Netzwerke auf Netzwerk hinzufügen, und geben Sie die IP-Adresse des Clientcomputers ein, auf dem Ihr Client installiert ist. Klicken Sie auf Fertig, dann auf , klicken Sie unten auf der Seite auf Speichern, um Ihre Änderungen zu speichern. Verbinden Sie sich mit Ihrer Instanz, entweder mit SSL oder ohne SSL.

Geben Sie Ihre IP-Adresse in die Datei pg_hba.conf ein, starten Sie den Postgres-Dienst neu und versuchen Sie es erneut.

+0

127.0.0.1/32 diese IP, die auch in dieser Datei ist! –

+0

Ich denke, das Problem könnte mit der Adresse sein Ich bin mir nicht sicher, ob ich die richtige oder nicht! –

+0

'127.0.0.1/32' ist für die Verbindung localhost (dh pgadmin & postgres auf demselben Rechner installiert), Sie müssen Ihre IP-Adresse angeben, um sie remote zu verbinden. Wenn Sie von überall auf Ihren Rechner zugreifen können, können Sie versuchen, 'host all all 0.0.0.0/0 md5' hinzuzufügen, obwohl ich dies aus Sicherheitsgründen nicht empfehlen würde. – n33rma