Gorm 挂在 gorm.Open,没有错误但没有响应
Gorm hangs on gorm.Open, no error but no response
我正在尝试将 gorm 用作应用程序的 ORM,但 gorm.Open
似乎从来没有 return,这使我的应用程序挂起。我的测试用例与我在网上看到的所有示例之间的唯一区别是我的测试用例连接到一个 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 我可以看到 none 我的请求正在访问 AWS。
问题不在我上面发布的代码块中,而是在调用 initDB
的 main
函数中。对 initDB
的调用是在 http.ListenAndServe
之后,它会永远阻塞。
我正在尝试将 gorm 用作应用程序的 ORM,但 gorm.Open
似乎从来没有 return,这使我的应用程序挂起。我的测试用例与我在网上看到的所有示例之间的唯一区别是我的测试用例连接到一个 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 我可以看到 none 我的请求正在访问 AWS。
问题不在我上面发布的代码块中,而是在调用 initDB
的 main
函数中。对 initDB
的调用是在 http.ListenAndServe
之后,它会永远阻塞。