Budoucím připojením můžete zabránit:
REVOKE CONNECT ON DATABASE thedb FROM public;
(a možná i další uživatelé/role; viz \l+
v psql
)
Poté můžete ukončit všechna připojení k této databázi kromě svého:
SELECT pid, pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname = current_database() AND pid <> pg_backend_pid();
Na starších verzích pid
se jmenoval procpid
takže se s tím budete muset vypořádat.
Protože jste odvolali CONNECT
práva, cokoli, co se pokoušelo o automatické připojení, by to již nemělo mít možnost.
Nyní budete moci zrušit DB.
Toto nebude fungovat, pokud pro normální operace používáte připojení superuživatele, ale pokud to děláte, musíte nejprve vyřešit tento problém.
Po odstranění databáze, pokud databázi znovu vytvoříte, můžete provést níže uvedený příkaz a obnovit přístup
GRANT CONNECT ON DATABASE thedb TO public;