为了账号安全,请及时绑定邮箱和手机立即绑定

lib/pq 连接但查询因连接错误而失败

lib/pq 连接但查询因连接错误而失败

Go
莫回无 2021-08-16 15:37:15
我正在从 Digital Ocean 运行全新安装的 Ubuntu 14.04。我已经通过调用安装了 Postgres sudo apt-get install postgresql postgresql-contrib。我通过调用安装了 Postgres 驱动程序go get github.com/lib/pq。我创建了一个名为foo. 然后,我曾经createuser --interactive创建一个foo仅使用属性调用的 Postgres 角色Create DB。接下来,我通过调用创建一个新数据库createdb foo。最后,我用CREATE TABLE. 哦,我已经添加export PGHOST=/var/run/postgresql到我的.bashrc文件中了。然后,我在/home/foo/go/src/dbtest.go.package mainimport (    "database/sql"    "fmt"    "log"    _ "github.com/lib/pq")func main() {    connInfo := "username=foo dbname=foo host=/var/run/postgresql sslmode=disable"    db, err := sql.Open("postgres", connInfo)    if err != nil {        log.Fatalln(err)    }    defer db.Close()    rows, err := db.Query("SELECT * FROM bar")    if err != nil {        log.Fatalln(err) // Code fails here.    }    defer rows.Close()    fmt.Println(rows)}我遇到的问题是调用sql.Open不返回错误,但是当我调用时db.Query我得到driver: bad connection. 我可以像 user 一样使用 Postgres 解释器foo,但是当我尝试从 Go 查询时它失败了。我怀疑这可能是权限问题。
查看完整描述

1 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

连接字符串参数应该是user=foo,而不是username=foo


查看完整回答
反对 回复 2021-08-16
  • 1 回答
  • 0 关注
  • 220 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信