От всяка база данни на клъстера:
Уловка 22:първо трябва да се свържете с база данни. Може би можете да се свържете като друг потребител? (По подразбиране някои връзки са запазени за суперпотребители с superuser_reserved_connections
настройка.)
За да получите подробна информация за всяка връзка от този потребител:
SELECT *
FROM pg_stat_activity
WHERE usename = 'user_name';
Като същия потребител или като суперпотребител можете да отмените всички (други) връзки на даден потребител:
SELECT pg_cancel_backend(pid) -- (SIGINT)
-- pg_terminate_backend(pid) -- the less patient alternative (SIGTERM)
FROM pg_stat_activity
WHERE usename = 'user_name'
AND pid <> pg_backend_pid();
По-добре бъдете сигурни, че е добре да го направите. Не искате да прекъсвате важни заявки (или връзки) по този начин.
pg_cancel_backend()
и pg_terminate_backend()
в ръководството.
От обвивка на Linux
Вие сами ли започнахте тези други връзки? Може би висящ сценарий от вас? Трябва да можете да ги убиете (ако сте сигурни, че е добре да го направите).
Можете да проучите с ps
кои процеси може да са погрешни:
ps -aux
ps -aux | grep psql
Ако идентифицирате процес, който да убиете (по-добре бъдете сигурни, че не). искате да убиете сървъра):
kill 123457689 # pid of process here.
Или с SIGKILL
вместо SIGTERM
:
kill -9 123457689