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

Chyba databáze Postgres drop:pq:nelze zrušit aktuálně otevřenou databázi

Protože se pokoušíte spustit dropDb příkaz na databázi, ke které máte otevřené připojení.

Podle dokumentace postgres:

To dává smysl, protože když zrušíte celou databázi, všechna otevřená připojení odkazující na tuto databázi se stanou neplatnými. Doporučený přístup je tedy připojit se k jiné databázi a provést tento příkaz znovu.

Pokud čelíte situaci, kdy je k databázi připojen jiný klient a opravdu chcete databázi zrušit, můžete násilně odpojit všechny klienty z této konkrétní databáze.

Například pro násilné odpojení všech klientů z databáze mydb :

Pokud PostgreSQL <9.2

SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE datname = 'mydb';

Jinak

SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'mydb';

Poznámka: Tento příkaz vyžaduje oprávnění superuživatele.

Poté se můžete připojit k jiné databázi a spustit dropDb příkaz znovu.



  1. dotaz na PSČ geoip

  2. Dvojitý požadavek mysql/php pro ajax

  3. PHP:echo počet duplikátů v tabulce podle nejběžnějších

  4. Jak Sind() funguje v PostgreSQL