Блокировки
select
lock.locktype,
lock.relation::regclass,
lock.mode,
lock.transactionid as tid,
lock.virtualtransaction as vtid,
lock.pid,
lock.granted--, pg_terminate_backend(lock.pid)
from pg_catalog.pg_locks lock
left join pg_catalog.pg_database db
on db.oid = lock.database
where (db.datname = 'sandbox' or db.datname is null)
and not lock.pid = pg_backend_pid()
order by lock.pid;
отключение сессии
select pg_terminate_backend(24736) сюда pid
активные сессии
select * from pg_stat_activity
----------------------------------------------
Проход в цикле
DO $$
DECLARE
_rec record;
_res boolean;
BEGIN
for _rec in
select distinct
lock.pid
from pg_catalog.pg_locks lock
left join pg_catalog.pg_database db
on db.oid = lock.database
where (db.datname = 'sandbox' or db.datname is null)
and not lock.pid = pg_backend_pid()
order by lock.pid loop
_res := pg_terminate_backend(_rec.pid);
end loop;
END
$$;
№2
SELECT
pg_terminate_backend(pid)
FROM
pg_stat_activity
WHERE
-- don't kill my own connection!
pid <> pg_backend_pid()
-- don't kill the connections to other databases
AND datname = 'cabinet';
Комментариев нет:
Отправить комментарий