我正在Go和PostgreSQL中使用兩臺不同的計算機創建Web應用程序。兩臺電腦上的設置都是一樣的(Ubuntu和Go和PostgreSQL的最新版本)。問題是我無法讓我的應用程序連接到筆記本電腦上的數據庫。通過pq(Go)連接到PostgreSQL數據庫會返回一個「錯誤的連接」錯誤
我使用這段代碼:
func (db *Database) Dial(user string, password string, dbname string) {
var err error
db.Conn, err = sql.Open("postgres", "user="+user+" password="+password+" dbname="+dbname+" sslmode=require")
if err != nil {
fmt.Println("Connection to " + dbname + " not possible!")
log.Fatal(err)
}
err = db.Conn.Ping()
if err != nil {
fmt.Println("Ping to " + dbname + " not possible!")
fmt.Println(err)
}
}
我也得到:
坪MY_DATABASE不可能的!
司機:不好的連接
我發現了同樣的錯誤如此多的問題,但我沒有發現任何解決方案,能夠解決我的情況。
此外,在我的筆記本電腦,就像我的臺式電腦上,有用戶Postgres的,我可以通過PSQL連接到數據庫,所以守護進程被激活,密碼是正確的。我在兩臺計算機上使用完全相同的設置和代碼。
我的問題是:如何獲得有關錯誤的更多信息?我覺得「不好的聯繫」太模糊了。我相信多一點的信息會對我有很大的幫助。
另外,你有一個想法會導致錯誤?
更新
PostgreSQL的日誌中這樣說:
2014年9月29日14點23分26秒EDT FATAL:密碼驗證失敗的用戶 「Postgres的」
2014- 09-29 14:23:26 EDT詳情:連接匹配pg_hba.conf第92行:「host all all 127.0.0.1/32 md5」
但我仔細檢查了密碼,它應該很好。我也可以登錄爲posgres用戶,運行psql命令並執行查詢。
如果你設置sslmode = disable,會發生什麼? – 2014-09-29 16:49:25
顯示完全相同的錯誤。 – 2014-09-29 17:05:05
有沒有什麼有用的postgres日誌中出現? – urandom 2014-09-29 18:18:59