gpt4 book ai didi

sql - lib/pq 连接但查询因连接不良而失败

转载 作者:IT王子 更新时间:2023-10-29 02:24:19 27 4
gpt4 key购买 nike

我正在运行 Digital Ocean 全新安装的 Ubuntu 14.04。我通过调用 sudo apt-get install postgresql postgresql-contrib 安装了 Postgres。我通过调用 go get github.com/lib/pq 安装了 Postgres 驱动程序。

我创建了一个名为 foo 的 Ubuntu 用户。然后,我使用 createuser --interactive 创建了一个名为 foo 的 Postgres 角色,只有 Create DB 属性。接下来,我通过调用 createdb foo 创建一个新数据库。最后,我使用 CREATE TABLE 创建了一个新表。哦,我已经将 export PGHOST=/var/run/postgresql 添加到我的 .bashrc 文件中。

然后,我在 /home/foo/go/src/dbtest.go 中写入了以下文件。

package main

import (
"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 时,我得到了 驱动程序:连接不良。我可以作为用户 foo 使用 Postgres 解释器,但是当我尝试从 Go 进行查询时,它失败了。我怀疑这可能是权限问题。

最佳答案

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

关于sql - lib/pq 连接但查询因连接不良而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25635241/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com