我在我的项目中使用GORM golang,一切都很好,直到我收到错误说:
pq: sorry, too many clients already
我只使用默认配置。在我的应用程序上做了很多测试请求之后发生了错误。
重新启动应用程序后,错误消失了。所以,我认为在完成查询后不会释放GORM连接。我对GORM代码的检查不够深入,我在这里问一下可能有人已经有过这方面的经验吗?
答案 0 :(得分:1)
您收到的错误消息是PostgreSQL错误,而不是GORM。它是在您多次打开数据库连接时引起的。
db, err := gorm.Open("postgres", "user=gorm dbname=gorm")
应该启动一次并在之后提及。
答案 1 :(得分:-1)
sync.Once.Do(func() {
instance, err := gorm.Open("postgres",
"root:password@"+
"tcp(localhost:3306)/rav"+
"?charset=utf8&parseTime=True")
if err != nil {
log.Println("Connection Failed to Open")
return
}
log.Println("Connection Established here")
instance.DB().SetMaxIdleConns(10)
instance.LogMode(true)
})