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

如何使用 Gorm 连接 PostgreSQL 数据库

如何使用 Gorm 连接 PostgreSQL 数据库

Go
慕容708150 2023-07-10 10:09:17
我无法连接到 PostgreSQL。var db *gorm.DBvar err errorfunc main() {    router := mux.NewRouter()    var err error    db, err = gorm.Open("postgres", "host=localhost port=5432 user=postgres dbname=dvdrental password=12345")    if err != nil {        panic("failed to connect database")    }我期望连接数据库并获取 api。
查看完整描述

3 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

这是我发现连接到 postgres 的最佳方式。


import _ "github.com/jinzhu/gorm/dialects/postgres"

dsn := url.URL{

        User:     url.UserPassword(conf.User, conf.Password),

        Scheme:   "postgres",

        Host:     fmt.Sprintf("%s:%d", conf.Host, conf.Port),

        Path:     conf.DBName,

        RawQuery: (&url.Values{"sslmode": []string{"disable"}}).Encode(),

    }

    db, err := gorm.Open("postgres", dsn.String())


查看完整回答
反对 回复 2023-07-10
?
侃侃无极

TA贡献2051条经验 获得超10个赞

遵循官方文档,它对我有用,请访问https://gorm.io/docs/connecting_to_the_database.html


import (

  "gorm.io/driver/postgres"

  "gorm.io/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{})

我只需删除主机变量并输入其余详细信息即可工作。


查看完整回答
反对 回复 2023-07-10
?
森栏

TA贡献1810条经验 获得超5个赞

首先,这个问题保留了想象的空间。

无论如何,以下是您无法将 gorm 连接到 postgres 的可能用例:

  1. 确保您的 postgres 在您指定的主机上运行良好(在本例中为:localhost)

  2. 如果没问题,请确保您的用户名和密码正确

如果一切正常,您可以在 CLI 中检查:

$ sudo -i -u postgres
$ psql

如果成功,则意味着代码中有其他内容。据我所知,您没有显示导入部分。你是否默默地导入了 postgres gorm 方言?

import _ "github.com/jinzhu/gorm/dialects/postgres"


查看完整回答
反对 回复 2023-07-10
  • 3 回答
  • 0 关注
  • 212 浏览
慕课专栏
更多

添加回答

举报

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