sql >> Databáze >  >> RDS >> PostgreSQL

Restartujte Heroku Postgres Dev DB

Chybová zpráva, kterou tam máte, není důvodem k restartování databáze; to není problém databáze. Vaše aplikace drží příliš mnoho připojení, pravděpodobně proto, že jste zapomněli nastavit její fond připojení. To není problém DB serveru a můžete jej opravit bez restartování DB serveru.

Pokud zastavíte aplikaci Play nebo překonfigurujete její fond připojení, problém zmizí.

Další možností je přepnout instanci Heroku do režimu údržby a poté ji znovu vyjmout.

Protože heroku vám neumožňuje připojit se jako superuživatel (z dobrých důvodů) nemůžete použít tento vyhrazený superuživatelský slot k připojení a správě připojení, jako byste to dělali s normálním PostgreSQL.

Viz také:

Heroku "psql :FATAL:zbývající připojovací sloty jsou vyhrazeny pro nereplikační připojení superuživatele"

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

Pokud nejste uživatelem bez hrdiny, který našel toto:

S normálním PostgreSQL můžete odpojit klienta od konce serveru pomocí připojení PostgreSQL k vašemu serveru. Vidíte, jak to říká, že je vyhrazen slot pro „superuživatelská připojení“? Připojte se k Pg jako superuživatel (postgres uživatel ve výchozím nastavení) pomocí PgAdmin-III nebo psql .

Jakmile se připojíte, uvidíte ostatní klienty pomocí:

SELECT * FROM pg_stat_activity;

Pokud chcete ukončit všechna připojení kromě vašeho vlastního, můžete spustit:

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

Přidejte AND datname = current_database a/nebo AND usename = <target-user-name> podle potřeby.



  1. MySql získá součet sloupce v každém řádku nového sloupce

  2. Jak mohu použít ROW_NUMBER()?

  3. Jak změníte datový typ sloupce na serveru SQL?

  4. AWS Summits 2018:Chicago rekapitulace