恐慌:拨号tcp:查找tcp/5432,:getaddrinfow:找不到指定的类

问题描述 投票:0回答:1

任何人都可以帮我解决这个错误吗?

panic: dial tcp: lookup tcp/5432,: getaddrinfow: The specified class was not found.

goroutine 1 [running]:
main.main()
        C:/Dev/Digitalent/scalable-web-service-with-golang/go-sql/main.go:35 +0x23a
exit status 2

这是代码。

package main

import (
"database/sql"
"fmt"

_ "github.com/lib/pq"

const (
host     = "localhost"
port     = 5432
username = "postgres"
password = "*********"
dbName   = "db-go-sql"

var (
db  *sql.DB
err error

func main() {
psqlURL := fmt.Sprintf("host=%s port=%d, user=%s, password=%s "+
    "dbname=%s sslmode=disable", host, port, username, password, dbName)

db, err = sql.Open("postgres", psqlURL)
if err != nil {
    panic(err)
}
defer db.Close()

err = db.Ping()
if err != nil {
    panic(err)
}

fmt.Println("Connection to postgresql established")

}

这是关于将我的 Go Lang 代码与 PostgreSQL 连接起来。我一遍又一遍地检查连接,例如主机、端口、用户名、密码和数据库名,我认为一切都很好。但是,当我运行主程序时,总是出现这个错误。我正在使用 Windows 11。谢谢!

postgresql go pgadmin-4
1个回答
0
投票
psqlURL := fmt.Sprintf("host=%s port=%d, user=%s, password=%s "+
        "dbname=%s sslmode=disable", host, port, username, password, dbName)

您确实有一个带有 url 字符串的

,
。删除它并尝试。

psqlURL := fmt.Sprintf("host=%s port=%d user=%s password=%s "+
        "dbname=%s sslmode=disable", host, port, username, password, dbName)

© www.soinside.com 2019 - 2024. All rights reserved.