postgresql - pq : password authentication failed for user "user-name" while accessing postgres in vscode

标签 postgresql go visual-studio-code backend go-gin

我正在使用 Golang 制作 API,并使用 Postgres 作为数据库。我使用了以下命令:-

args := "host=" + host + " port=" + port + " dbName=" + dbName + "username=" + username + " sslmode=disable password=" + password
    db, err := gorm.Open("postgres", args)
    if err != nil {
        log.Fatal(err)
    }
db.AutoMigrate(models.Hospital{})
    DB = db

但是当我构建模型时,我得到的错误是:-

pq:用户“Ansh Joshi”的密码验证失败

虽然当我尝试在 pgAdmin 中使用相同的密码登录时,我能够完美地登录。然后我无法理解的是为什么我在使用 vscode 时无法连接它。

任何帮助将不胜感激。提前谢谢你...

最佳答案

我不确定您打开与 gorm 连接的代码是否正确。

文档中是这样写的

dsn := "host=localhost user=gorm password=gorm dbname=gorm port=9920 sslmode=disable TimeZone=Asia/Shanghai"
db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})

我建议您将 dsn 设置为 fmt.Sprintf 以提高可读性。
因为你的user有空间,你应该在开始和结束user中添加'

这是例子:

    args := fmt.Sprintf("host=%s port=%s dbname=%s user='%s' password=%s sslmode=%s", host, port, dbName, username, password, sslmode)
    fmt.Println(args)

    db, err := gorm.Open(postgres.Open(args), nil)
    if err != nil {
        log.Fatal(err)
    }

关于postgresql - pq : password authentication failed for user "user-name" while accessing postgres in vscode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71287725/

相关文章:

json - Postgres 获取 json 计数

go - 如何通过反射从名称中获取类型表示?

visual-studio-code - VSCode 设置,EsLint 和 Prettier 冲突

go - redigo 是否重新连接到服务器?

Golang time.Ticker,如何从偶数时间戳开始

java - 如何使用输入在VSC中构建/运行Java文件

linux - 如何更改 Visual Studio 代码中的工作台字体?

ruby-on-rails - ActiveRecord 查询所有没有 child 的类别?

database - 我如何根据 child 排序?

mysql - 对于初学者,MySQL 和 PostgreSQL 之间有很大区别吗?