0

我正在尝试将 gorm 用作应用程序的 ORM,但gorm.Open似乎永远不会返回,这使我的应用程序挂起。我的测试用例与我在网上看到的所有示例之间的唯一区别是我的测试用例连接到 AWS 机器,而所有其他用例都连接到本地 Postgres 实例。这有关系吗?

我拥有的代码是:

func initDB() {
    var err error
    db, err := gorm.Open("postgres", "host=something.rds.amazonaws.com user=awsuser dbname=db sslmode=disable password=awspassword")
    if err != nil {
       panic(err)
    }
    log.Printf("Connected")
    defer db.Close()
}

我试过切换sslmode,我试过使用 postgres 连接字符串(直接从 postgres 客户端拉,所以它是有效的),我试过切换到sql.Open. 我不知道还有什么可以尝试的。FWIW 我可以看到我的所有请求都没有到达 AWS。

4

1 回答 1

0

问题不在我上面发布的代码块中,而是在main调用initDB. 调用initDB之后http.ListenAndServe会永远阻塞。

于 2016-11-28T16:52:38.323 回答