猿问

太多争论呼吁“github.com/jackc/pgx”。连接

我正在尝试使用pgx打开与postgres数据库的连接,并且我收到以下错误:


./dbservice.go:12:26: too many arguments in call to "github.com/jackc/pgx".Connect

        have (context.Context, string)

        want ("github.com/jackc/pgx".ConnConfig)

./dbservice.go:13:18: too many arguments in call to conn.Close

        have (context.Context)

        want ()

./dbservice.go:21:44: cannot use context.Background() (type context.Context) as type string in argument to conn.Query

我不确定错误要求我在这里做什么。 当我从主文件调用它时可以工作,但在这里它不起作用。代码如下:pgx.Connect


func initNodes(nodes *[]Node, searchNodes *[]SearchNode, storageNodes *[]StorageNode) error {

    conn, err := pgx.Connect(context.Background(), DATABATE_URL)

    defer conn.Close(context.Background())


    if err != nil {

        fmt.Printf("Connection failed: %v\n", err)

        os.Exit(-1)

    }

...


func main() {

    a:= Arbiter{}

    a.init()

}

有什么想法吗?


HUWWW
浏览 375回答 1
1回答

Smart猫小萌

最有可能的是,您正在 导入 API,但 API 在您的“主文件”中。中的 Connect 函数接受要传递的两个参数。中的连接函数接受 代替 。v3pgxdbservice.gov4github.com/jackc/pgx/v4v3pkg.ConnConfig因此,请检查 : 中的语句,如果您打算使用 API,请将其导入为 。importdbservice.gov4"github.com/jackc/pgx/v4"
随时随地看视频慕课网APP

相关分类

Go
我要回答