Saltar al contenido

Reinicie Heroku Postgres Dev DB

Solución:

El mensaje de error que tiene no es motivo para reiniciar la base de datos; no es un problema de base de datos. Su aplicación tiene demasiadas conexiones, probablemente porque olvidó configurar su grupo de conexiones. Ese no es un problema del servidor de base de datos y puede solucionarlo sin reiniciar el servidor de base de datos.

Si detiene su aplicación Play o reconfigura su grupo de conexiones, el problema desaparecerá.

Otra opción es poner su instancia de Heroku en modo de mantenimiento y luego sacarla nuevamente.

Dado que heroku no le permite conectarse como superusuario (por buenas razones), no puede usar esa ranura de superusuario reservada para conectarse y administrar conexiones como lo haría con PostgreSQL normal.

Ver también:

Heroku “psql: FATAL: las ranuras de conexión restantes están reservadas para conexiones de superusuario sin replicación”

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

Si no es un usuario de heroku y encontró esto:

Con PostgreSQL normal, puede desconectar su cliente del extremo del servidor utilizando una conexión PostgreSQL a su servidor. ¿Ves cómo dice que hay una ranura reservada para “conexiones de superusuario”? Conéctese a Pg como superusuario (postgres usuario por defecto) usando PgAdmin-III o psql.

Una vez que esté conectado, podrá ver a otros clientes con:

SELECT * FROM pg_stat_activity;

Si desea terminar todas las conexiones excepto la suya, puede ejecutar:

SELECT procpid, pg_terminate_backend(procpid) 
FROM pg_stat_activity WHERE procpid <> pg_backend_pid();

Agregar AND datname = current_database y / o AND usename = <target-user-name> según sea apropiado.

Creo que debería haber agregado esto en respuesta a la respuesta anterior, pero no pude averiguar cómo hacerlo, así que …

Como actualización del comentario de Liron Yahdav en el hilo de la respuesta aceptada: los “usuarios no heroku que encontraron esta” solución funcionaron para mí en una base de datos de desarrollo de Heroku PostgreSQL, pero con una ligera modificación a la consulta proporcionada por Liron. Aquí está mi consulta modificada: SELECT pid, pg_terminate_backend(pid) FROM pg_stat_activity WHERE pid <> pg_backend_pid() AND usename="<your_username>";

Parece que procpid ha cambiado a pid.

No hay forma de reiniciar toda la base de datos. Sin embargo, heroku ofrece una forma sencilla de detener todas las conexiones que resuelve el problema en la mayoría de los casos:

heroku pg:killall

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *