Accediendo a la base de datos mientras Discourse no está en ejecución

¡Peligro!

Esto podría dañar tu instalación, pero podría sacarte de un apuro.
Usa estas instrucciones con mucho cuidado.

Si no puedes ejecutar el contenedor de Discourse con ./launcher rebuild app por alguna razón y necesitas acceder a la base de datos para resolver el problema, intenta seguir estas instrucciones.

La técnica utiliza una imagen de Docker de Postgres para acceder al volumen de tu Discourse instalado. ¡No ejecutes esto mientras Discourse esté en funcionamiento!

Esto asume que Discourse está instalado en /var/discourse y que sabes cómo operar Postgres a través de la línea de comandos.

Cambia ‘mcontraseñasecreta’ por un valor más seguro.

# Descarga la imagen correcta para tu versión de Discourse.
docker pull postgres:15
        
# Inicia el contenedor y dirígelo a los archivos de la base de datos local.
docker run --name postgres_container -e POSTGRES_PASSWORD=mcontraseñasecreta -d -p 5432:5432 -v /var/discourse/shared/standalone/postgres_data:/var/lib/postgresql/data postgres:15
        
 # Entra en el contenedor
 docker exec -it postgres_container /bin/bash
        
 # Una vez dentro del contenedor:
 su postgres
        
 # ejecuta el cliente de la base de datos
 psql
        
 # Elimina la base de datos como consideres oportuno.

# Cuando termines:
docker stop postgres_container
docker rm postgres_container
docker rmi postgres:15

Es posible que necesites reiniciar Docker antes de intentar reiniciar Discourse.

service restart docker.
2 Me gusta