Ich versuche, eine Verbindung zu Herokus Postgres mit einem Go herzustellen. Alles funktioniert gut lokal.Verbindung abgelehnt mit Go + Postgres auf Heroku
Der Fehler auf Heroku ist dial tcp 127.0.0.1:5432: connection refused
.
Ich habe meine Fähigkeit bestätigt, über psql auf der Befehlszeile von heroku eine Verbindung mit der Datenbank herzustellen, und habe bestätigt, dass die Konfiguration der Datenbank-URL korrekt ist. Der Code ist klar genug, also frage ich mich, ob es ein niedrigeres Problem gibt.
Der Code ist einfach genug:
import (
"database/sql"
"github.com/coopernurse/gorp"
_ "github.com/lib/pq"
"os"
)
func openDb() *sql.DB {
connection := os.Getenv("DATABASE_URL")
db, err := sql.Open("postgres", connection)
if err != nil {
log.Println(err)
}
return db
}
... und github.com/lib/pq ist importieren. Go-Version ist 1.1.2.
Seltsam ... Ich hatte mit 'sslmode = require' zu verwirren nie, und Ich habe etwas sehr ähnliches gemacht (auch mit 'lib/pq'). Außerdem ist es eine schlechte Übung, DB-Verbindungsdetails in Ihren Code aufzunehmen. Mit Heroku können Sie Umgebungsvariablen setzen, auf die Ihr Code mit 'os.Getenv()' zugreifen kann. Viel Glück! :) – weberc2