Осторожно!
Это может сломать вашу установку, но поможет выбраться из затруднительного положения.
Используйте эти инструкции с большой осторожностью.
Если по какой-либо причине вы не можете запустить контейнер Discourse с помощью команды ./launcher rebuild app и вам необходимо получить доступ к базе данных для решения проблемы, попробуйте следующие инструкции.
Этот метод использует Docker-образ Postgres для доступа к томику вашей установленной версии Discourse. Не запускайте это, пока Discourse работает!
Предполагается, что Discourse установлен в каталоге /var/discourse, и вы умеете работать с Postgres через командную строку.
Замените «mysecretpassword» на более безопасное значение.
# Загрузите правильный образ для вашей версии Discourse.
docker pull postgres:15
# Запустите контейнер и укажите путь к локальным файлам базы данных.
docker run --name postgres_container -e POSTGRES_PASSWORD=mysecretpassword -d -p 5432:5432 -v /var/discourse/shared/standalone/postgres_data:/var/lib/postgresql/data postgres:15
# Войдите в контейнер
docker exec -it postgres_container /bin/bash
# После входа в контейнер:
su postgres
# Запустите клиент базы данных
psql
# Удалите базу данных по своему усмотрению.
# По завершении:
docker stop postgres_container
docker rm postgres_container
docker rmi postgres:15
Возможно, вам потребуется перезапустить Docker перед попыткой перезапуска Discourse.
service restart docker.