我在我的项目中使用GORM,所有事情都很好,直到我得到一个错误:
pq: sorry, too many clients already我只是使用默认的配置。这个错误发生在我对我的应用程序执行了大量测试请求之后。
在我重新启动应用程序之后,错误就消失了。因此,我认为在完成查询后不会释放GORM连接。我没有对GORM代码进行足够深入的检查,我只是在这里问,也许有人已经有过这方面的经验?
发布于 2016-04-29 13:27:57
您得到的错误消息是PostgreSQL错误,而不是GORM。它是在您多次打开数据库连接时造成的。
db, err := gorm.Open("postgres", "user=gorm dbname=gorm")应该启动一次,然后再引用。
发布于 2019-08-05 13:30:13
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)
})您可以将连接限制为单例函数,这样连接就会发生一次,即使它被多次调用。
https://stackoverflow.com/questions/36935089
复制相似问题