ダッシュボード上でテーブルのデータを直接操作したとき、意図しない変更が即座に保存されて困った経験はないでしょうか。

Supabaseは2026年4月、ダッシュボードのテーブルエディタにトランザクション機能を追加しました。この記事では、何が変わったのか、どう使うのかを解説します。

この記事でわかること:

  • テーブルエディタのトランザクション対応の概要
  • 従来の即時保存との違い
  • 有効化の手順
  • Diff Viewを使った変更確認の流れ

テーブルエディタが「まとめてコミット」に対応

Supabaseは、PostgreSQLを基盤とするオープンソースのバックエンドプラットフォームです。ダッシュボードからテーブルの閲覧・編集・RLSポリシーの設定などを直接行えるため、SQLを書かずにデータ操作ができます。

今回追加された「Queue table operations」機能を有効にすると、テーブルエディタで行った挿入・編集・削除がその場でデータベースに反映されなくなります。代わりに変更をキューに積んでおき、Diff Viewで内容を確認してから cmd + S でまとめてコミットする流れになります。

これまでの課題

従来のテーブルエディタでは、セルを編集するたびに変更が即座にデータベースへ書き込まれていました。シンプルな操作ですが、複数のレコードをまとめて変更する場面では問題が起きやすい設計でした。

たとえば10件のレコードを修正している途中で誤ったデータを保存してしまうと、手動でロールバックするか修正し直す必要があります。また、複数の変更を「すべて成功か、すべて取り消し」のアトミックな単位として扱えない点も課題でした。

PostgreSQLはもともとACIDトランザクションをサポートしており、複数の変更を1つの操作として扱えます。しかしダッシュボードのUIがそれに対応していなかったため、GUIから直接操作する際はこの仕組みを活かせませんでした。

変更の流れ

Queue table operations有効化後のテーブルエディタは、次の3ステップで操作します。

1. 変更をキューに積む

挿入・編集・削除を行っても、データベースにはまだ反映されません。操作はキューに積まれ、画面上では変更前後を確認できる状態になります。

2. Diff Viewで確認する

コミット前に変更内容を一覧で確認できます。追加・修正・削除が色分けされて表示されるため、意図しない操作が混じっていないかチェックできます。

3. cmd + S でまとめてコミット

問題なければショートカットキーでコミットします。すべての変更が単一のトランザクションとしてデータベースに適用されます。コミット前であれば、キューを破棄して操作をやり直せます。

有効化の手順

  1. Supabaseダッシュボードにログインする
  2. 右上のプロフィールアイコンから「Account Preferences」を開く
  3. 「Queue table operations」を有効化する

機能の有効・無効はいつでも切り替えられます。無効にすれば従来の即時保存の動作に戻ります。

従来との違い

従来(即時保存) Queue table operations
変更のタイミング 操作ごとに即時反映 コミット時にまとめて反映
変更前の確認 なし Diff Viewで確認可
ロールバック 手動で個別に対応 コミット前にキューを破棄
データ整合性 部分的な変更が残るリスクあり アトミックに適用

同日(4月24日)には、RLSポリシーの動作をUIから直接テストできる「RLS Tester」も機能プレビューとして追加されています。ロール切り替えによって「ログイン済み/未ログイン」状態のSQLクエリを実行し、どのポリシーが評価されているかを確認できます。こちらもAccount PreferencesのFeature Previewsから有効化できます。

まとめ

Supabaseのテーブルエディタがトランザクション対応となり、複数の変更をDiff Viewで確認してから一括コミットできるようになりました。本番データをダッシュボードから直接操作する機会が多いプロジェクトでは、誤操作のリスクを下げる実用的な機能です。Account Preferencesから有効化できるため、試してみる価値があります。