sql >> Databasteknik >  >> RDS >> PostgreSQL

Starta om Heroku Postgres Dev DB

Felmeddelandet du har där finns ingen anledning att starta om databasen; det är inte ett databasproblem. Din applikation har för många anslutningar, förmodligen för att du har glömt att konfigurera dess anslutningspool. Det är inte ett DB-serverproblem och du kan fixa det utan att starta om DB-servern.

Om du stoppar din Play-applikation eller omkonfigurerar dess anslutningspool kommer problemet att försvinna.

Ett annat alternativ är att sätta din Heroku-instans i underhållsläge och sedan ta ut den igen.

Eftersom heroku inte tillåter dig att ansluta som superanvändare (av goda skäl) kan du inte använda den reserverade superanvändarplatsen för att ansluta och hantera anslutningar som du skulle göra med vanlig PostgreSQL.

Se även:

Heroku "psql :FATAL:återstående anslutningsplatser är reserverade för superanvändaranslutningar som inte replikeras"

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

Om du är en icke-heroku-användare som hittade detta:

Med normal PostgreSQL kan du koppla bort din klient från serveränden med en PostgreSQL-anslutning till din server. Se hur det står att det finns en plats reserverad för "superanvändaranslutningar"? Anslut till Pg som en superanvändare (postgres användare som standard) med PgAdmin-III eller psql .

När du är ansluten kan du se andra klienter med:

SELECT * FROM pg_stat_activity;

Om du vill avsluta alla anslutningar utom din egen kan du köra:

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

Lägg till AND datname =current_database och/eller OCH användarnamn = som lämpligt.



  1. Hur man övervakar HAProxy Metrics med ClusterControl

  2. MySQL Conditional Insert

  3. Hur ansluter man till en fjärrbaserad MySQL-databas med Java?

  4. Hur konverteras ett Postgres RAISE EXCEPTION till ett PDOException?