если без лишних вопросов, то должно быть что-то вроде: select pg_terminate_backend(pg_stat_activity.pid) from pg_stat_activity where pg_stat_activity.usename = 'role_name'; где, role_name — имя роли, сеансы которой нужно прервать. завершит все сеансы этой роли для всех баз.
ага, как раз ттолько что попробовал, спасибо. Хотим выделить для pg_admin роль, и ограничить ей количество коннектов. Пользователи бросают сеансы и съедают все коннекты
Это решит проблему переполнения числа коннектов, но к вам начнут ходить и жаловаться "чет подключиться не можем, ошибку выдает". Можно еще заcron'ить убийство неактивных сессий под этой ролью
Обсуждают сегодня