PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Redémarrez la base de données de développement Heroku Postgres

Le message d'erreur que vous avez n'est pas une raison pour redémarrer la base de données ; ce n'est pas un problème de base de données. Votre application contient trop de connexions, probablement parce que vous avez oublié de configurer son pool de connexions. Ce n'est pas un problème de serveur de base de données et vous pouvez le résoudre sans redémarrer le serveur de base de données.

Si vous arrêtez votre application Play ou reconfigurez son pool de connexion, le problème disparaîtra.

Une autre option consiste à mettre votre instance Heroku en mode maintenance, puis à la retirer.

Depuis heroku ne vous permet pas de vous connecter en tant que superutilisateur (pour de bonnes raisons) vous ne pouvez pas utiliser cet emplacement de superutilisateur réservé pour vous connecter et gérer les connexions comme vous le feriez avec PostgreSQL normal.

Voir aussi :

Heroku "psql :FATAL :les slots de connexion restants sont réservés aux connexions super-utilisateurs non répliquées"

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

Si vous n'êtes pas un utilisateur heroku et que vous avez trouvé ceci :

Avec PostgreSQL normal, vous pouvez déconnecter votre client du serveur en utilisant une connexion PostgreSQL à votre serveur. Voyez-vous comment il est indiqué qu'il y a un emplacement réservé aux "connexions superutilisateurs" ? Connectez-vous à Pg en tant que superutilisateur (postgres utilisateur par défaut) en utilisant PgAdmin-III ou psql .

Une fois connecté, vous pouvez voir d'autres clients avec :

SELECT * FROM pg_stat_activity;

Si vous souhaitez mettre fin à toutes les connexions sauf la vôtre, vous pouvez exécuter :

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

Ajoutez AND datname = current_database et/ou AND usename = <target-user-name> le cas échéant.