У меня есть одна база данных Posgresql (я владелец), и я хотел бы удалить ее и воссоздать из дампа.
Проблема в том, что есть пара приложений (два веб-сайта, rails и perl), которые регулярно обращаются к БД. Поэтому я получаю сообщение об ошибке «БД используется другими пользователями».
Я читал, что одна из возможностей - получить pids вовлеченных процессов и убить их по отдельности. Я хотел бы сделать что-то более чистое, если это возможно.
Кажется, что Phppgadmin делает то, что я хочу: я могу сбрасывать схемы с помощью его веб-интерфейса, даже когда веб-сайты включены, без ошибок. Поэтому я исследую, как работает его код. Однако я не эксперт по PHP.
Я пытаюсь понять код phppgadmin, чтобы увидеть, как он это делает. Я обнаружил строку ( 257 в Schemas.php), где сказано:
$data->dropSchema(...)
$data
— это глобальная переменная, и я не смог найти, где она определена.
Любые указатели будут очень признательны.