sql.Open()不會(huì)出錯(cuò):if db, err = sql.Open("postgres", url); err != nil { return nil, fmt.Errorf("Postgres connect error : (%v)", err)}但db.Ping()會(huì)報(bào)錯(cuò):if err = db.Ping(); err != nil { return nil, fmt.Errorf("Postgres ping error : (%v)", err)}這只是因?yàn)?lib/pq 連接字符串無法從具有單獨(dú)連接參數(shù)的 docker 容器內(nèi)進(jìn)行連接。例如:url := fmt.Sprintf("user=%v password=%v host=%v port=%v dbname=%v", rs.conf.Redshift.User, rs.conf.Redshift.Password, rs.conf.Redshift.Host, rs.conf.Redshift.Port, rs.conf.Redshift.DB)
1 回答

眼眸繁星
TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
使用連接字符串作為 URL 有效:
????url?:=?fmt.Sprintf("postgres://%v:%v@%v:%v/%v?sslmode=disable", ????????pql.conf.Postgres.User, ????????pql.conf.Postgres.Password, ????????pql.conf.Postgres.Host, ????????pql.conf.Postgres.Port, ????????pql.conf.Postgres.DB)
- 1 回答
- 0 關(guān)注
- 112 瀏覽
添加回答
舉報(bào)
0/150
提交
取消