2016-05-13 1 views
0

ich eine Heroku App und 3 verschiedene Datenbanken auf drei verschiedenen Servern (einschließlich localhost)Heroku Zugriff Remote postgresql

Ich habe versucht, zu jedem von ihnen zu verbinden und ich bekomme immer

PG::ConnectionBad: could not connect to server: Connection timed out 

Mein DATABASE_URL ist Korrekt und die App läuft reibungslos mit heroku nativen Datenbank

Zuerst dachte ich, es war die Firewall von meiner Hostings, aber ich habe eine localhost db erstellt, beide 5432 und 5433 Ports geöffnet und immer noch heroku kann nicht verbinden ... ich eingereicht ein Ticket, aber keine Antwort, so fa r.

Kann mir jemand helfen?

database.yml

development: 
port: 5432 
host: host 
adapter: postgresql 
encoding: unicode 
database: database 
pool: 5 
username: user 
password: pass 

test: 
port: 5432 
host: host 
adapter: postgresql 
encoding: unicode 
database: database 
pool: 5 
username: user 
password: pass 

production: 
port: 5432 
host: host 
adapter: postgresql 
encoding: unicode 
database: database 
pool: 5 
username: user 
password: pass 
+0

Könnten Sie bitte Ihre config/database.yml posten? (Entfernen Sie alle Anmeldeinformationen zuerst dort bitte) – mwallba

+0

bearbeitet die Frage, aber ich denke, Heroku kümmert sich nicht einmal um database.yml, weil er nur durch das DATABASE_URL in den Einstellungen verbindet ... auch wenn ich eine falsche database.yml habe aber eine Verbindung herstellen die native heroku db über DATABASE_URL funktioniert einwandfrei – Boltz0r

+0

In Rails überschreibt die 'DATABASE_URL' env var alle Einstellungen in' config/database.yml'. Hast du versucht, es vom Heroku-Dashboard aus zu setzen? – max

Antwort

0

Wahrscheinlich ist Ihr Port geschlossen. Um es auf einem Ubuntu-Rechner zu öffnen, benutze die folgenden Befehle.

sudo ufw allow 5432 
sudo /etc/init.d/postgresql restart