メインコンテンツへスキップ
スキーマの変更がうまくいかなかった、アプリの方向性を試してみたが取りやめたいなど、データを元の状態に戻したいことがあります。Replitは両方のデータベースの履歴を保持しているため、以前の状態に戻すことができます。

データベースを復元できるユーザー

復元はライブデータを変更するため、すでにデータベースを編集できるユーザーに限定されています。
  • 個人アプリ:オーナーと編集権限を持つコラボレーター。
  • ワークスペースアプリ:そのアプリに対して Editor、Publisher、Owner のアクセスレベルを持つメンバー。閲覧専用(Read-only)アクセスのメンバーは復元できません。
スケジュールバックアップは Core、Pro、Teams、Enterprise で利用できます。

開発データベースを復元する

開発データベースは、チェックポイントロールバックによってコードと一緒に復元されます。Agentが作成した任意のチェックポイントで Rollback here を選択します。確認ダイアログには影響を受ける内容が表示されます。ファイル、開発データベース、Agentのメモリがすべて、そのチェックポイント時点の状態に戻ります。
チェックポイントロールバックが本番データベースに影響することはありません。本番データのリカバリーには、以下のいずれかの方法を使用してください。

本番データベースを特定の時点に復元する

ポイントインタイム復元(PITR)は、本番データベースの継続的な履歴を保持します。データベース作成時に7日間のウィンドウで有効になり、そのウィンドウ内の任意の秒に復元できます。

保持期間を変更する

  1. Database ツールを開き、Production を選択します。
  2. Settings を開き、Advanced の下にある Point-in-time recovery を展開します。
  3. Recovery window で期間を選択します。
Advanced設定で展開されたポイントインタイム復元の行。Recovery windowが7日間に設定されている
すべてのプランで、6時間、12時間、1日、2日、5日、7日から選択できます。Disabled を選択するとPITRをオフにできます。Pro、Teams、Enterpriseでは28日間も選択できます。期間を長くするとより多くの履歴が保存され、ストレージ使用量に加算されます。Coreに移行した場合、7日間を超える保持期間は7日間に短縮されます。

復元する

  1. Point-in-time recovery で Restore database… を選択します。
  2. Timestamp に、戻したい日時を入力します。時刻はローカルのタイムゾーンで、復元ウィンドウ内の時点である必要があります。
  3. Restore を選択します。
日時が選択されたデータベース復元ダイアログ
復元すると、ライブデータがその時点のデータに置き換えられます。その後さらに以前の時点に復元することはできますが、先の時点に進めることはできないため、確定する前にタイムスタンプを再確認してください。接続中のアプリは自動的に再接続され、一時的に中断されることがあります。
データベースを復元してもアプリのコードは復元されず、コードをロールバックしても本番データは復元されません。両方を同じ時点に戻すには、データベースを復元した後、対応するチェックポイントにロールバックしてからアプリを再発行してください。

本番データベースの日次バックアップをスケジュールする

スケジュールバックアップは、アクティブな間、1日に1回本番データベースの完全なスナップショットを作成し、選択した期間保持します。PITRを補完する低コストの手段です。復元ポイントは少なくなりますが、それぞれが完全なコピーであり、PITRのウィンドウに依存しません。
ストレージコストを削減するため、Neonは24時間アクセスがない本番データベースを自動的にアーカイブします。データベースがアーカイブされている間、スケジュールバックアップはスキップされます。接続するとデータベースが起動し、バックアップは接続直後ではなく、次にスケジュールされた日次の時刻に再開されます。
非アクティブ状態によるバックアップの欠落だけでは、データ損失やバックアップスケジュールの失敗を意味しません。この動作は、バックアップの保持設定やPITRの復元ウィンドウには影響しません。データベースがアクティブな間にバックアップが欠落している場合は、Replitサポートにお問い合わせください。

スケジュールバックアップを有効にする

  1. Database ツールを開き、Production を選択します。
  2. Settings を開き、Advanced の下にある Scheduled backups を展開します。
  3. Keep backups for で期間を選択します。Coreは7日間をサポートし、Pro、Teams、Enterpriseは7日間、14日間、28日間から選択できます。
このセクションには、最後にバックアップが実行された時刻が表示されます。
Advanced設定で展開されたスケジュールバックアップの行。Keep backups forが7日間に設定され、最後のバックアップ時刻が表示されている
Replitは、保存時点のブラウザのタイムゾーンで深夜近くにバックアップをスケジュールします。スケジュールは現在のUTCオフセットを使用するため、サマータイムの変更により、設定を再度保存するまでバックアップの時刻が1時間ずれることがあります。

バックアップを復元する

  1. Scheduled backups で View all backups を選択します。
  2. 復元したいバックアップの横にある Restore を選択します。
  3. 警告を読み、restore と入力して、Continue を選択します。
各バックアップにRestoreボタンが表示された日次バックアップの一覧
restoreの入力を求める確認ダイアログ
復元を実行すると、データベースはバックアップのデータに切り替わります。現在のデータは削除されませんが、それを取り戻すにはReplitサポートの支援が必要となるため、復元前によく確認してください。接続中のサービスは一時的に再接続されます。

ストレージコスト

本番データベースのストレージは3つのカテゴリで計測されます。開発データベースのチェックポイントロールバックに別途料金はかかりません。 データベースストレージはすべての本番データベースに適用されます。PITRの履歴は、データの変更量とウィンドウの長さに応じて増加し、スケジュールバックアップは保持日数に応じて増加します。日次の復元ポイントで十分な場合は、PITRのウィンドウを短くしてスケジュールバックアップを併用すると、通常は長いPITRウィンドウよりもコストを抑えられます。ストレージが請求書にどのように表示されるかについては、使用量ベースの課金をご覧ください。

次のステップ