PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Reinicie o Heroku Postgres Dev DB


A mensagem de erro que você tem não é motivo para reiniciar o banco de dados; não é um problema de banco de dados. Seu aplicativo está mantendo muitas conexões, provavelmente porque você esqueceu de configurar o pool de conexões. Isso não é um problema do servidor de banco de dados e você pode corrigi-lo sem reiniciar o servidor de banco de dados.

Se você interromper seu aplicativo Play ou reconfigurar seu pool de conexões, o problema desaparecerá.

Outra opção é colocar sua instância Heroku no modo de manutenção e retirá-la novamente.

Como heroku não permite que você se conecte como superusuário (por boas razões) você não pode usar esse slot de superusuário reservado para conectar e gerenciar conexões como faria com o PostgreSQL normal.

Veja também:

Heroku "psql :FATAL:os slots de conexão restantes são reservados para conexões de superusuário sem replicação"

http://wiki.postgresql.org/wiki/Number_Of_Database_Connections

Se você não é um usuário do Heroku que encontrou isto:


Com o PostgreSQL normal você pode desconectar seu cliente do servidor usando uma conexão PostgreSQL ao seu servidor. Veja como diz que há um slot reservado para "conexões de superusuário"? Conecte-se ao Pg como um superusuário (postgres usuário por padrão) usando PgAdmin-III ou psql .

Quando estiver conectado, você poderá ver outros clientes com:
SELECT * FROM pg_stat_activity;

Se você deseja encerrar todas as conexões, exceto a sua, você pode executar:
SELECT procpid, pg_terminate_backend(procpid) 
FROM pg_stat_activity WHERE procpid <> pg_backend_pid();

Adicione AND datname = current_database e/ou AND usename = <target-user-name> como apropriado.