ディスコース停止中にデータベースへアクセス

危険!!

これにより、インストールが破損する可能性がありますが、窮地を脱するのに役立つかもしれません。
これらの指示は細心の注意を払って使用してください。

何らかの理由で ./launcher rebuild app で discourse コンテナを実行できず、問題を解決するためにデータベースにアクセスする必要がある場合は、これらの指示を試してください。

この手法では、Postgres の Docker イメージを使用して、インストールされている 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
        
 # db クライアントを実行します
 psql
        
 # 必要に応じてデータベースを削除します。

# 完了したら:
docker stop postgres_container
docker rm postgres_container
docker rmi postgres:15

discourse の再起動を試みる前に、docker を再起動する必要がある場合があります。

service restart docker.
「いいね!」 2