I'm trying to use gorm as an ORM for an app, but gorm.Open
doesn't appear to ever return, which is making my app hang. The only difference between my test case and all the examples I've seen online is my test case is connected to an AWS box, whereas all the others are connecting to local Postgres instances. Does that matter?
The code that I have is:
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()
}
I've tried switching sslmode
, I've tried using the postgres connection string (pulled straight from a postgres client so it is valid), I've tried switching to sql.Open
. I don't know what else there is to try. FWIW I can see that none of my requests are hitting AWS.
The issue was not in the code block I posted above, but in the main
function that calls initDB
. The call to initDB
was after http.ListenAndServe
which blocks forever.