本文へスキップ
Best AI Service

Supabase self-hosted の Studio 権限変更|`supabase_admin` から `postgres` へ移る前にやること

Supabase self-hosted の Studio と postgres-meta が 2026-06-17 週から `postgres` 標準へ移ります。対象条件、one-time migration、custom schema の注意点を整理しました。

公開: 最終確認: 2026年5月27日
最終確認: 2026年5月27日 根拠: 4件の公開情報 確認メモを見る 編集方針
Supabase self-hosted の Studio 権限移行を確認するイメージ

先に結論

self-hosted Supabase を ./docker 構成で運用しているなら、6月中旬の compose 更新前に owner migration の要否を確認したほうが安全です

Supabase は 2026-06-17 週の release で、Studio と postgres-meta が使う DB role を supabase_admin から postgres へ切り替えます。既存環境では、public schema の object owner が supabase_admin のまま残っていることがあるため、そのまま更新すると Studio 側の操作が失敗しやすくなります。

やることは多くありません。sh utils/reassign-owner.sh を一度実行し、compose の関連変数を postgres にそろえ、最後に select current_user; で確認すれば流れは追えます。

誰が対象か

対象はかなり絞られます。

Supabase が挙げているのは、./docker 配下の self-hosted Supabase を使い、compose 更新で upstream の docker-compose.yml を取り込む既存環境です。Studio 経由で作った object が残っているほど、今回の差分が効きます。

逆に、Supabase の managed platform を使っているチームは対象外です。supabase start を使うローカル開発も別経路なので、今回の切り替えをそのまま受けるわけではありません。

fresh install なら話は軽くなります。最初から postgres ownership で始まるため、既存 object を移す作業は不要です。

何が変わるのか

変わるのは Studio 周辺が使う role です。

Supabase は default の docker-compose.yml で、studio.environment.POSTGRES_USER_READ_WRITEmeta.environment.PG_META_DB_USERpostgres に切り替えます。self-hosted 側を managed platform の挙動に寄せる変更で、superuser 権限に寄り過ぎていた旧挙動をたたむ意図があります。

ここで引っかかるのは、既存環境の object owner です。過去の self-hosted 環境では、Studio から作った object が supabase_admin owner のまま残っていることがあります。role だけ postgres に切り替わると、その差分が失敗要因になります。

先に見るべき危険箇所

一番先に見るべきなのは、既存 object がどの schema にあるかです。

公式 script が自動で触るのは public schema だけです。ここにある table や view なら sh utils/reassign-owner.sh で owner を移せます。

一方で、custom schema は自動移行されません。self-hosted 運用で schema を切っているなら、public だけ直して終わりとは限りません。custom schema 側の owner も別途見ておく必要があります。

もう1つ見落としやすいのが override です。POSTGRES_USER_READ_WRITEPG_META_DB_USER を自前の override file で固定している環境では、upstream の compose を pull しても実際の挙動が変わらないことがあります。逆に、気づかないまま一部だけ切り替わると追跡が面倒になります。

実際にやること

1. public schema の owner を移す

既存環境なら、まず one-time migration を実行します。

sh utils/reassign-owner.sh

この script は public schema の object owner を supabase_admin から postgres へ移します。managed schema や custom schema には触れません。

2. compose の role 設定をそろえる

次に、Studio と postgres-metapostgres を使うようにそろえます。

見る場所は 2 つです。

  • studio.environment.POSTGRES_USER_READ_WRITE
  • meta.environment.PG_META_DB_USER

default compose をそのまま使うなら upstream 更新で変わります。override file を持っているなら、自分の compose 側でも postgres へ寄せる必要があります。

3. 再起動して SQL Editor で確認する

変更後は stack を再起動し、Studio SQL Editor で select current_user; を実行します。

返り値が postgres なら、最低限の切り替えは通っています。ここまで見れば「変数だけ変わった」「owner だけ古いまま残った」といった中途半端な状態を避けやすくなります。

すぐ移行したくないときの考え方

今回の変更は default の切り替えであって、supabase_admin そのものが即削除されるわけではありません。

そのため、custom schema の棚卸しがまだ終わらないなら、override file で従来値を維持して一度止血する選択肢もあります。ただし、それは恒久対応ではありません。managed platform との挙動差分を残したままになるため、運用差分を増やしたくないなら早めに postgres へ寄せたほうが後が楽です。

いま確認しておくと楽なチェックリスト

順番を短くすると、先に見るべきなのは次の5点です。

  1. self-hosted が ./docker 構成かどうか
  2. 既存環境か fresh install か
  3. public schema に supabase_admin owner の object が残っていないか
  4. custom schema を持っていないか
  5. override file で role 変数を固定していないか

ここまで見えていれば、6月中旬の release を pull したときに慌てにくくなります。

あわせて見ておきたい Supabase 運用記事

self-hosted を追っているなら、PG 17 default 化の整理記事 もつながります。6月中旬は role だけでなく DB image 側の変更も近いため、compose 更新をまとめて確認したい人に向いています。

Node runtime 側の棚卸しが残っているなら、Node.js 20 サポート終了の記事 も合わせて見ておくと、6月末までの作業を並べやすくなります。

権限まわりの運用を広く見たいなら、一時 DB アクセス preview の記事Supabase 比較記事 も参考になります。ただ、今回先にやるべきなのは比較より owner migration の確認です。

まとめ

Supabase self-hosted の今回の変更で見るべきなのは、Studio の role が postgres へ移ること自体より、既存 object owner との食い違いが残らないかです。

既存環境なら sh utils/reassign-owner.sh、compose 変数の切り替え、select current_user; の確認までを 1 セットで進めてください。custom schema と override file だけ先に洗っておけば、6月中旬の compose 更新で詰まる確率はかなり下げられます。

最後に確認すること

self-hosted Supabase を更新しているなら、先に比較ではなく owner migration の有無を確認してください。既存環境なら `sh utils/reassign-owner.sh` と compose 変数の切り替えまでを 1 セットで見ておくのが安全です。

向いている人

  • ・`./docker` 配下の self-hosted Supabase を運用し、compose 更新で upstream 変更を取り込んでいるチーム
  • ・Studio SQL Editor や postgres-meta を日常運用で使っていて、権限差分による失敗を先回りで潰したい人
  • ・`supabase_admin` のまま残る object owner を整理し、managed platform と挙動をそろえたい運用担当者

避けたい人

  • ・Supabase の managed platform だけを使っていて self-hosted 変更の対象外な人
  • ・`supabase start` を使うローカル開発だけで、本番の self-hosted compose を持たない人
  • ・一般的な BaaS 比較だけ知りたい人

確認メモ

根拠、確認日、まだ扱っていない範囲を本文の後ろにまとめています。

編集方針を見る

確認日

2026年5月27日

確認ソース数

4件

編集責任

@best-ai-service-editorial-review

研究責任 @best-ai-service-research / 編集責任 @best-ai-service-editorial-review

Verification links

まず開く公式リンク

公式発表、Docs、Pricing など、導入判断で先に見るリンクだけを残しています。

official announcement reviewdocs cross-checkinternal link review

確認した公開情報

  • official changelog
  • official docs

比較観点

  • migration clarity
  • operational impact
  • rollback option
  • self-hosted parity

まだ扱っていないこと

  • • custom schema を多用する各チームで必要になる追加 SQL の量
  • • override file を大きく分岐している compose 構成ごとの差分修正量