5
我試圖用Go去連接Heroku的Postgres。所有工作都很好。拒絕連接Go + Postgres在Heroku上
我在Heroku上收到的錯誤是dial tcp 127.0.0.1:5432: connection refused
。
我已經證實我的能力,通過heroku的命令行上的psql連接到數據庫,並確認數據庫url配置是正確的。代碼很清晰,所以我想知道是否有較低級別的問題。
的代碼是足夠簡單:
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
}
...和我進口github.com/lib/pq。 Go版本是1.1.2。
奇怪......我從來沒有亂用'sslmode = require',和我做了一些非常相似的事情(也使用'lib/pq')。此外,在代碼中包含數據庫連接詳細信息也是不好的做法。 Heroku允許你設置環境變量,你的代碼可以使用'os.Getenv()'來訪問。祝你好運! :) – weberc2