Retoolのストレージ・データベース
ほとんどのオンプレミス設定(Docker ComposeとKubernetes)では、ユーザー情報およびドキュメントは、永続ボリュームでPostgresql Dockerコンテナーに格納されています。これは、使用量が増加した場合に、さらに冗長性を確保するために外部でホストされているデータベース・ソリューションの使用に切り替える際に役立ちます。
必要なストレージの量
新規Retoolインスタンス用にデータベースを設定する際に、ストレージに少なくとも60GBを割り当てることを推奨します。既存の大規模なRetoolインスタンスを移行する場合、さらに領域が必要になることがあります。
1. RetoolのDockerコンテナーからのデータのエクスポート
RetoolのPostgresコンテナーからデータをエクスポートするには、現在、Retool Dockerコンテナーをホストしている仮想マシンで次のコマンドを実行します。
sudo docker exec -t retoolonpremise_postgres_1 \
pg_dump hammerhead_production --no-acl --no-owner --clean \
-U postgres > retool_db_dump.sql
データベース・ダンプは、現在、前述のコマンドを実行したディレクトリーのretool_db_dump.sql
という名前のファイルにあります。
2. 外部でホストされているデータベースへのデータの移行(例: RDS)
ダンプを外部データベースに復元するには、次のコマンドを実行します(ここでのDB_CONNECTION_URI
は、外部でホストされているデータベースに接続するPostgresql接続文字列です)。
psql DB_CONNECTION_URI -f retool_db_dump.sql
注意: DB_CONNECTION_URI
は、この形式にする必要があります。
3. 外部のデータベースを使用するようにするためのRetoolの構成
docker.env
ファイルで、接続先データベースなど、Retoolのオプションをいくつか定義します。編集する必要のある行には、次のパターンがあります。
POSTGRES_DB=hammerhead_production
POSTGRES_USER=retool_internal_user
POSTGRES_HOST=postgres
POSTGRES_PORT=5432
POSTGRES_PASSWORD={a random string}
ここで、新しく作成したデータベースに対応する次の変数を編集します。以下に、例を示します。
POSTGRES_DB=retooldb
POSTGRES_USER=retool_user
POSTGRES_HOST=retool.xxxxxxxxxx.us-east-2.rds.amazonaws.com
POSTGRES_PORT=5432
POSTGRES_PASSWORD=xyzabc
別の方法として、5つの環境変数を削除して、かわりに次のようなデータベース接続文字列を指定することもできます。
DATABASE_URL=postgres://retool_user:[email protected]:5432/retooldb
4. Retoolサーバーの再起動
最後に、retool_onpremise
ディレクトリーから次のコマンドを実行して、サーバーを再起動します。
sudo docker-compose up -d
Updated over 4 years ago