Mik*_*mus 1 postgresql go docker kubernetes docker-compose
sql.Open()
不会出错:
if db, err = sql.Open("postgres", url); err != nil {
return nil, fmt.Errorf("Postgres connect error : (%v)", err)
}
Run Code Online (Sandbox Code Playgroud)
但db.Ping()
会出错:
if err = db.Ping(); err != nil {
return nil, fmt.Errorf("Postgres ping error : (%v)", err)
}
Run Code Online (Sandbox Code Playgroud)
这仅仅是因为 lib/pq 连接字符串不会从具有单独连接参数的 docker 容器内连接。
例如:
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)
Run Code Online (Sandbox Code Playgroud)
使用连接字符串作为 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)
Run Code Online (Sandbox Code Playgroud)
在此处查看 lib/pq 文档:https : //godoc.org/github.com/lib/pq
我被困在这里超过一天了,我欠 Nikolay Sandalov 在 GitHub 上的评论的修复:https : //github.com/coreos/clair/issues/134#issuecomment-491300639
谢谢你,尼古拉???
归档时间: |
|
查看次数: |
6050 次 |
最近记录: |