两年以来,我已经在Heroku上部署了Rails应用,没有任何麻烦 今天的应用程序崩溃了。
轨道日志为:
/app/vendor/bundle/ruby/2.3.0/gems/pg-0.21.0/lib/pg.rb:56:in `initialize': FATAL: sorry, too many clients already (PG::ConnectionBad)
FATAL: sorry, too many clients already
我的Rails应用是v5.2.0
我将Heroku与2 dyno一起使用 该数据库是带有“ Hobby Dev”的postgres。 我尝试:
要升级数据库,但出现相同的错误
heroku addons:create heroku-postgresql:standard-0 --follow DATABASE_URL --app locabri
Creating heroku-postgresql:standard-0 on ⬢ xxxx... !
▸ An error was encountered when contacting the add-on partner to create heroku-postgresql:standard-0: The database you are attempting to follow was not found.
更改环境变量中的DB_POOL
heroku pg:info
=== DATABASE_URL
Plan: Hobby-dev
Status: Available
Connections: 0/20
PG Version: 10.6
Created: 2017-05-29 07:40 UTC
Data Size: 138.8 MB
Tables: 12
Rows: 5748/10000 (In compliance)
Fork/Follow: Unsupported
Rollback: Unsupported
Continuous Protection: Off
Region: Europe
Add-on: postgresql-regular-79163
但是没有任何效果。 我无法在数据库上执行任何操作,因为无法连接数据库并且不知道如何重新启动它。 感谢您的帮助或问题
我终于通过更改可用的dyno来找到解决方案!
heroku ps:scale web=0
heroku ps:scale web=2
heroku restart
现在我可以检查“连接泄漏”
答案 0 :(得分:1)
最近,我的一个Python应用程序遇到了相同的错误消息。我已经联系了Heroku,他们承认了这个错误:
致命:对不起,已经有太多客户了
“通常会触发此事件,因为爱好层数据库是共享资源,这意味着多个数据库将共享来自主机的计算和存储。我们会定期监视这些数据,并始终以备用容量运行它们,但偶尔会出现偶然的使用高峰相邻数据库中的数据可能会导致主机出现问题。这是我们不赞成将兴趣爱好层用于生产应用程序的原因之一。”
他们建议尝试以下选项之一:
我没有尝试过第一种选择,但是第二种解决了我的问题。 answer展示了如何逐步进行迁移。