如何使用 Gorm 连接 PostgreSQL 数据库

我无法连接到 PostgreSQL。


var db *gorm.DB

var err error

func 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。


慕容708150
浏览 279回答 3
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())

侃侃无极

遵循官方文档,它对我有用,请访问https://gorm.io/docs/connecting_to_the_database.htmlimport (  "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{})我只需删除主机变量并输入其余详细信息即可工作。

森栏

首先,这个问题保留了想象的空间。无论如何,以下是您无法将 gorm 连接到 postgres 的可能用例:确保您的 postgres 在您指定的主机上运行良好(在本例中为:localhost)如果没问题,请确保您的用户名和密码正确如果一切正常,您可以在 CLI 中检查:$ sudo -i -u postgres $ psql如果成功,则意味着代码中有其他内容。据我所知,您没有显示导入部分。你是否默默地导入了 postgres gorm 方言?import _ "github.com/jinzhu/gorm/dialects/postgres"
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go