Това ще прекъсне съществуващите връзки с изключение на вашите:
Заявка pg_stat_activity
и вземете pid стойностите, които искате да убиете, след което издайте SELECT pg_terminate_backend(pid int)
към тях.
PostgreSQL 9.2 и по-нова версия:
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 и по-долу:
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();
След като изключите всички, ще трябва да изключите връзката и да издадете командата DROP DATABASE от връзка от друга база данни, известна още като не тази, която се опитвате да прекъснете.
Обърнете внимание на преименуването на procpid
колона към pid
. Вижте тази тема за пощенски списък.