2013-07-07 15 views
6

Ich stelle eine Rails App mit Unicorn bereit. Nach jeder Bereitstellung und nach jeder Optimierung, die ich an die DB_POOL mache, sehe ich, dass postgres immer noch einige Verbindungen halten, da Leerlauf und neue Änderungen sehr inkonsistent sind, was mich wundern lässt, wenn nach jedem Poolwechsel der Dienst neu gestartet wird.Gibt es eine Möglichkeit, Postgres auf Heroku neu zu starten?

Ich habe keine Dokumentation diesbezüglich gefunden. Gibt es einen ähnlichen Befehl zu pg_ctl auf Heroku?

+0

möglich Duplikat von [Starten Sie Heroku Postgres Dev DB neu] (http://stackoverflow.com/questions/11949084/restart-heroku-postgres-dev-db) – hd1

+0

Es klingt wie, was Sie wirklich tun möchten, ist Ihren Verbindungspool zu leeren .... aber das sagte, es klingt wie Sie einen Anwendungsfehler haben, wahrscheinlich, wo Sie Transaktionen verlieren, wenn dies tatsächlich einen Unterschied macht. –

Antwort

4

Nein, Sie können Ihre Postgres-Datenbank auf Heroku nicht neu starten. Wenn Sie veraltete Verbindungen haben, handelt es sich wahrscheinlich um ein App-Problem. Versuchen Sie, in den pg-Extras Plugin Abwürgen und suchen nach IDLE Verbindungen:

Außerdem können Sie versuchen, eine benutzerdefinierte Active Verbindung in Ihrem after_fork Block Einrichten und ermöglicht den Anschluss Schnitter, der sollte aufzuräumen alle verbliebenen toten Verbindungen es findet:

+0

Danke. Habe das schon gemacht, aber immer noch Leerlaufverbindungen. – Martin

Verwandte Themen