В "postgresql.config", параметр "#max_worker_processes = 8". По умолчанию 8.
SELECT * FROM pg_stat_activity выдал четыре процесса.
А БД, при попытке запуска нового процесса, возвращает "could not register background process".
До этого, сотрудник удалил несколько БД. Некогда было разбираться. Срочно перезапустили postgresql.
От чего такое могло произойти? Почему приходила данная ошибка? Сталкивался ли кто-нибудь с подобным поведением?
После экспериментов, пришли к выводу, что проблема в удалении фоновых процессов.
В "postgresql.config", параметр "max_worker_processes = 2". Поставили для тестирования равным двум.
Делаем:
SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE pg_stat_activity.datname = 'database_name' AND pid <> pg_backend_pid();
DROP DATABASE database_name;
SELECT * FROM pg_stat_activity выдал один процесс.
При запуске нового фонового рабочего процесса, появляется ошибка: "could not register background process".
Как правильно удалить процесс?
Заранее спасибо.
https://postgrespro.ru/docs/p
https://postgrespro.ru/docs/postgrespro/9.5/functions-admin
pg_cancel_backend
pg_terminate_backend