PostgreSQL

Принудительное удаление базы данных в PostgreSQL

Удалить базу данных, не обращая внимание на текущие сессии? Вопрос решается в три запроса!

1. Предотвращаем дальнейшие подключения к базе данных dbase_name:

update pg_database set datallowconn = 'false' 
where datname = 'dbase_name';

2. Закрываем все текущие сессии:

select pg_terminate_backend(pg_stat_activity.pid)
from pg_stat_activity
where pg_stat_activity.datname = 'dbase_name' and 
pid <> pg_backend_pid();

3. Собственно, удаляем базу данных:

drop database dbase_name;

Благодарность отправляется в Хабр Q&A.