Chybová zpráva, kterou tam máte, není důvodem k restartování databáze; to není problém databáze. Vaše aplikace drží příliš mnoho připojení, pravděpodobně proto, že jste zapomněli nastavit její fond připojení. To není problém DB serveru a můžete jej opravit bez restartování DB serveru.
Pokud zastavíte aplikaci Play nebo překonfigurujete její fond připojení, problém zmizí.
Další možností je přepnout instanci Heroku do režimu údržby a poté ji znovu vyjmout.
Protože heroku vám neumožňuje připojit se jako superuživatel (z dobrých důvodů) nemůžete použít tento vyhrazený superuživatelský slot k připojení a správě připojení, jako byste to dělali s normálním PostgreSQL.
Viz také:
http://wiki.postgresql.org/wiki/Number_Of_Database_Connections
Pokud nejste uživatelem bez hrdiny, který našel toto:
S normálním PostgreSQL můžete odpojit klienta od konce serveru pomocí připojení PostgreSQL k vašemu serveru. Vidíte, jak to říká, že je vyhrazen slot pro „superuživatelská připojení“? Připojte se k Pg jako superuživatel (postgres
uživatel ve výchozím nastavení) pomocí PgAdmin-III nebo psql
.
Jakmile se připojíte, uvidíte ostatní klienty pomocí:
SELECT * FROM pg_stat_activity;
Pokud chcete ukončit všechna připojení kromě vašeho vlastního, můžete spustit:
SELECT procpid, pg_terminate_backend(procpid)
FROM pg_stat_activity WHERE procpid <> pg_backend_pid();
Přidejte AND datname = current_database
a/nebo AND usename = <target-user-name>
podle potřeby.