Ошибка удаления Rails + Postgres: к базе данных обращаются другие пользователи - PullRequest
81 голосов
/ 03 марта 2010

У меня есть приложение rails, работающее над Postgres.

У меня есть два сервера: один для тестирования, а другой для производства.

Очень часто мне нужно клонировать производственную БД на тестовом сервере.

Команда, которой я управляю через Влада:

rake RAILS_ENV='test_server' db:drop db:create

Проблема в том, что я получаю следующую ошибку:

ActiveRecord::StatementInvalid: PGError: ERROR: database <database_name> is being accessed by other users DROP DATABASE IF EXISTS <database_name>

Это происходит, если кто-то недавно обращался к приложению через Интернет (postgres держит "сеанс" открытым)

Можно ли как-нибудь прекратить сеансы в базе данных postgres?

Спасибо.

Редактировать

Я могу удалить базу данных, используя интерфейс phppgadmin, но не с помощью задачи rake.

Как мне скопировать падение phppgadmin с помощью рейка?

Ответы [ 13 ]

0 голосов
/ 28 января 2019

После перезагрузки сервера или компьютера, попробуйте еще раз.

Это может быть простое решение.

0 голосов
/ 03 ноября 2015

У меня была похожая ошибка: 1 пользователь использовал базу данных, я понял, что это Я!Я выключил сервер rails, а затем выполнил команду rake: drop, и она сработала!

0 голосов
/ 18 сентября 2014

Просто убедитесь, что вы вышли из консоли rails в любом открытом окне терминала и вышли из сервера rails ... это одна из самых распространенных ошибок, совершаемых людьми

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...