2012-08-17 21 views
6
私はRuby on Railsを、HerokuのとPostgreSQLと、次のエラーを取得してい

:私は無駄にサーバーを数回再起動しましたHerokuのとPostgreSQLとRails - あまりにも多くの接続エラー

 
PG::Error (FATAL: too many connections for role "********" 

。何か案は?

+0

サイトでトラフィックが増えていますか? – deefour

+0

[Heroku "psql:FATAL:残りの接続スロットは非複製スーパーユーザー接続用に予約されています"](http://stackoverflow.com/questions/11847144/heroku-psql-fatal-remaining-connection-slots-are -reserved-for-non-replication) –

+0

@sabes Railsが使用する最大接続数を設定したり、接続プールを使用する必要があります。ちょうど私がリンクしたポストの答えを見てください。 –

答えて

2

明らかに私は開発者レベルのDBを使っていました。私はクレーンレベルの生産DBにアップグレードし、すべてがうまくいくはずです。

+3

dev(および基本)データベースの最大接続制限は20です - https://devcenter.heroku.com/articles/heroku-postgres-starter-tier#limitsを参照してください。 – hgmnz

3

より多くのお金を支払っていることは必ずしも答えではありません。

私はdev-levelデータベースのrow limitに対して実行していたときにこの問題が一時的に発生しました。制限を下回るまでコンソールを使用して行を削除すると、問題が解決しました。

あなたがユニコーンを使用している場合は、これに取り組むこともできます。使用される接続の数は、dynosの数にdynoあたりのunicorn workerの数を掛けた数です。 Herokuはすべてhereと、それをconfig/unicorn.rbに設定する方法を説明しています。

また、使用されている接続数を確認すると便利です。ちょうどheroku pg:infoを実行してください。

関連する問題