0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Supabase】90日の復元期限を過ぎたプロジェクトを復元する方法(Docker + psql)

Last updated at Posted at 2025-04-15

はじめに

Project cannot be restored through the dashboard :sob:

Supabaseの無料プランでは、プロジェクトが一時停止後、90日間が経過すると、管理画面上からの復元ができなくなります。

今回は、90日の復元期限を過ぎたプロジェクトを復元する必要があり、その際に行った対応手順を記録としてまとめました。

対応手順

1. Supabase側の対応

1-1. 復帰用の新規プロジェクト作成

Supabaseの管理画面から新規プロジェクトを作成します。

1-2. バックアップファイルを保存

事前にSupabaseから取得しておいた .backup ファイルを使用します。

:bulb: .backup ファイルは、Supabaseで復元対象のプロジェクトを開くと表示される「Download backups > Database backup」からダウンロード可能です。
image.png

1-3. DockerでPostgreSQLコンテナの作成・起動

ローカル環境にPostgreSQLをインストールしていないかつ、ローカルに直インストールしたくなかったので、psql実行用にDockerを作成します。

Dockerコンテナを作成したコマンド

docker run --rm -it --name pg_restore -v ${PWD}:/backup postgres:15 bash

1-4. psql コマンドでSupabaseのDBをローカルから復元

事前にSupabaseから取得しておいた .backup ファイルから使用します。

:white_check_mark: 成功したコマンド

以下のコマンド(Supabaseにて作成した新規プロジェクトのTransaction poolerに記載あり)を使用して、Docker環境内で復元を実施しました。

Docker環境のターミナルで実行したpsqlコマンド

psql -h aws-0-ap-southeast-1.pooler.supabase.com -p 5432 -d postgres -U <ユーザー名> -f /backup/db_cluster-MM-DD-YYYY@xx-xx-xx.backup
:x: 失敗したコマンドとエラー内容

以下のホストを指定したコマンド(Supabaseにて作成した新規プロジェクトのDirect connectionに記載あり)は、IPv6の関係で失敗しました。

psql -h <ホスト名> -p 5432 -U postgres -d postgres -f /backup/db_cluster-MM-DD-YYYY@xx-xx-xx.backup

エラー内容

psql: error: connection to server at "<ホスト名>"......
Is the server running on that host and accepting TCP/IP connections?

2. フロントエンド側の対応

.env ファイルの以下の値を、新しいSupabaseプロジェクトのものに書き換えます。

NEXT_PUBLIC_SUPABASE_URL=<復帰用の新規プロジェクトのURL>
NEXT_PUBLIC_SUPABASE_ANON_KEY=<復帰用の新規プロジェクトのキー>

3. Netlify側の対応

Netlifyを使ってデプロイしていたため、管理画面から環境変数を修正します。

  1. Site configuration にアクセス
  2. 「Environment variables」を表示
  3. 以下の設定値を更新
NEXT_PUBLIC_SUPABASE_URL=<復帰用の新規プロジェクトのURL>
NEXT_PUBLIC_SUPABASE_ANON_KEY=<復帰用の新規プロジェクトのキー>

おわりに

今回は、Supabaseのバックアップ保持期限が過ぎた後の復元方法を記録しました。
手元に .backup ファイルさえあれば、新プロジェクト+psql実行環境(今回はDockerコンテナ)で復旧可能です。

同じ状況で困っている方の参考になれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?