2012-08-17 4 views
6

Ich erhalte den folgenden Fehler mit Ruby on Rails, Heroku und Postgresql:Heroku und Postgresql und Rails - zu viele Verbindungen Fehler

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

ich den Server mehrmals ohne Erfolg neu gestartet haben. Irgendwelche Ideen?

+0

Wird die Website viel Verkehr bekommen? – deefour

+0

mögliches Duplikat von [Heroku "psql: FATAL: verbleibende Verbindungssteckplätze sind für Nicht-Replikations-Superuser-Verbindungen reserviert"] (http://stackoverflow.com/questions/11847144/heroku-psql-fatal-remaining-connection-slots-are -reserved-for-non-replication) –

+0

@sabes Sie müssen eine maximale Anzahl von Verbindungen konfigurieren, die von Rails verwendet werden, und/oder einen Verbindungspool verwenden. Sehen Sie sich die Antworten zu dem Beitrag an, mit dem ich gerade verlinkt bin. –

Antwort

2

Anscheinend war ich auf einer Entwickler-Ebene DB. Ich habe auf die Crane-Level-Produktions-DB aufgerüstet und alles sollte in Ordnung sein.

+3

dev (und grundlegende) Datenbanken haben eine maximale Verbindungsbeschränkung von 20 - siehe https://devcenter.heroku.com/articles/heroku-postgres-starter-tier#limits – hgmnz

3

Bezahlen Heroku mehr Geld ist nicht immer die Antwort.

Ich hatte dieses Problem vorübergehend, als ich gegen die Datenbank row limit der Entwickler-Ebene lief. Löschen von Zeilen mit der Konsole, bis ich unter der Grenze war, löste das Problem.

Ein weiterer möglicher Weg, auf den Sie stoßen können, ist, wenn Sie ein Einhorn verwenden. Die Anzahl der verwendeten Verbindungen ist die Anzahl der Dynos, multipliziert mit der Anzahl der Einhorn-Arbeiter pro Prüfstand. Heroku erklärt alles here, zusammen mit einer Möglichkeit, es in config/unicorn.rb zu konfigurieren.

Auch die Anzahl der verwendeten Verbindungen kann nützlich sein. Führen Sie einfach heroku pg:info.