LINUX.ORG.RU

Удалить базу postgresql в контейнере

 , ,


0

1
docker exec -it profile-data-db psql -U root -d postgres -c "DROP DATABASE django;"

out:

ERROR:  database "django" is being accessed by other users
DETAIL:  There is 1 other session using the database.

Понятно, что не удаётся удалить т.к есть активная сессия, которая не дает это сделать. А force нет в postgre? Как бы так лучше удалить и создать базу django? Может лучше docker rm -f some-data. А потом создать как? docker-compose up -d –build –force-recreate? В общем посоветуйте, как лучше пересоздать базу postgre в контейнере:)

★★★★

Последнее исправление: bryak (всего исправлений: 3)

Как вариант можно запустить docker-compose up , потом остановить все контейнеры, кроме того, который с постгресом. И после этого удалить базу данных.

dicos ★★
()
Ответ на: комментарий от dicos

Кстати вот заодно вопрос по : docker-compose up

Я что то не понял как он пашет. Крутиться куча контейнеров, в одном в tmp создали файл. Я думаю вот сейчас ящик перегружу и оно того. Перегружаю, хм, файл есть. Не понял, что композе при перезагрузке не останавливает контейнеры ?

mx__ ★★★★★
()
Ответ на: комментарий от MaZy

А точно, я ступил, думал он их рушит и потом с образа заново делает. Заклинило на том что если в compose.yml указать новый образ то он его перекачивает …

P.S. Я только не понял что автор перед удалением дб сервис postgresql не остановит ?

mx__ ★★★★★
()
Последнее исправление: mx__ (всего исправлений: 1)
Ответ на: комментарий от mx__

P.S. Я только не понял что автор перед удалением дб сервис postgresql не остановит ?

Он не сможет подключиться к постгрессу, так как контейнер с постгресом не будет работать

dicos ★★
()

У тебя же в композе прописаны все параметры, с которыми база должна создаваться (имя базы, пользователь, пароль)? Если да, то просто удаляй контейнер с базой через docker-compose и создавай новый через него же.

v9lij ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.