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

Jak zrušit databázi PostgreSQL, pokud k ní existují aktivní připojení?

Tím se zruší stávající připojení kromě vašeho:

Dotaz pg_stat_activity a získejte hodnoty pid, které chcete zabít, poté zadejte SELECT pg_terminate_backend(pid int) jim.

PostgreSQL 9.2 a vyšší:

SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE pg_stat_activity.datname = 'TARGET_DB' -- ← change this to your DB
  AND pid <> pg_backend_pid();

PostgreSQL 9.1 a nižší:

SELECT pg_terminate_backend(pg_stat_activity.procpid)
FROM pg_stat_activity
WHERE pg_stat_activity.datname = 'TARGET_DB' -- ← change this to your DB
  AND procpid <> pg_backend_pid();

Jakmile odpojíte všechny, budete se muset odpojit a zadat příkaz DROP DATABASE z připojení z jiné databáze neboli té, kterou se pokoušíte přerušit.

Všimněte si přejmenování procpid sloupec na pid . Viz toto vlákno konference.



  1. Jak zálohovat a obnovit databázi PostgreSQL přes DBeaver

  2. Jak najdu umístění MySQL my.cnf

  3. Základy MongoDB:Konfigurace řízení přístupu založeného na rolích (RBAC)

  4. Spring Batch - Nelze vytvořit tabulky metadat na Postgres a načíst aktuální data do mysql