Komunikat o błędzie, który masz, nie ma powodu, aby ponownie uruchomić bazę danych; to nie jest problem z bazą danych. Twoja aplikacja utrzymuje zbyt wiele połączeń, prawdopodobnie dlatego, że zapomniałeś skonfigurować jej pulę połączeń. To nie jest problem z serwerem DB i można go naprawić bez ponownego uruchamiania serwera DB.
Jeśli zatrzymasz aplikację Play lub ponownie skonfigurujesz pulę połączeń, problem zniknie.
Inną opcją jest przełączenie instancji Heroku w tryb konserwacji, a następnie ponowne jej usunięcie.
Ponieważ heroku nie pozwala na łączenie się jako superużytkownik (z dobrych powodów) nie możesz użyć tego zarezerwowanego slotu superużytkownika do łączenia się i zarządzania połączeniami, tak jak w przypadku normalnego PostgreSQL.
Zobacz też:
http://wiki.postgresql.org/wiki/Number_Of_Database_Connections
Jeśli nie jesteś użytkownikiem heroku, który znalazł to:
Z normalnym PostgreSQL możesz odłączyć klienta od końca serwera za pomocą połączenia PostgreSQL z serwerem. Widzisz, jak jest napisane, że jest miejsce zarezerwowane dla "połączeń superużytkownika"? Połącz się z Pg jako superużytkownik (postgres
użytkownika) przy użyciu PgAdmin-III lub psql
.
Po nawiązaniu połączenia możesz zobaczyć innych klientów za pomocą:
SELECT * FROM pg_stat_activity;
Jeśli chcesz zakończyć każde połączenie oprócz własnego, możesz uruchomić:
SELECT procpid, pg_terminate_backend(procpid)
FROM pg_stat_activity WHERE procpid <> pg_backend_pid();
Dodaj AND datname = current_database
i/lub AND usename = <target-user-name>
w razie potrzeby.