押す前に、結果を見る
危ないのは操作そのものより、やってみるまで分からないことです。答えを出せるものは、先に出します。どれも本番のDBに何も残しません。

Database Ops · Local-only
うろ覚えのDB CLIコマンドを、Web UIに。AIなし、魔法なし。psql / mysql の操作をクリックに変え、すべて自分のマシンの上で動きます。
git clone https://github.com/MR-TABATA/cli2ui
cd cli2ui
docker compose up
ローカル完結・Docker

危ないのは操作そのものより、やってみるまで分からないことです。答えを出せるものは、先に出します。どれも本番のDBに何も残しません。

NOT VALIDな外部キーの違反行を、検証もせず、何も変えずに数えます。

ワークスペース概要は、各パネルがワンクリックで、ライブな件数つきです。テーブル詳細では、列・インデックス・行プレビュー・フィルタ・CSVのインポート/エクスポート、バックアップやリネームまで。

既定は読み取り専用のトランザクション、文のタイムアウトと1000行の上限つきです。SQLを解析して弾くのではなく、サーバー自身が書き込みを拒否します。EXPLAIN、スケール、インデックスのwhat-ifも使えます。

仮想のインデックスを1つのトランザクションの中で作り、EXPLAIN ANALYZEで前後を比べて、ROLLBACKします。本当に効くか確かめてから作れます。

ALTER / DROP / TRUNCATE / リネームは、短いlock_timeout(2秒)で実行します。ロックが取れなければ諦めて、誰も待たせません。

実行計画を保存して、前と後を差分で見ます。インデックスを足す前後の2つの計画を、並べて比べられます。

同じクエリを、実際の行数の1倍・100倍・10000倍でEXPLAINします(pg_classを一時的に書き換えて、必ずROLLBACK)。データが増えたとき、計画がどこで崩れるかが見えます。

実行中のクエリと接続を、pg_stat_activityから表示します。ワンクリックでcancel / killできます。
待機の連鎖をツリーで表示します。先頭に大元のブロッカー、その下に待たされているセッションを並べます。循環も検出します。
テーブルサイズ、未使用インデックス、インデックスのない外部キー、重複インデックス、孤児行、dead rows、bloatの推定。事実だけを出し、助言はしません。
外部キーのグラフから、安全なTRUNCATEの順番(と、その逆の投入順)を出します。外部キーの循環も名指しします。何も消しません。
導入済みの拡張と導入できる拡張、データベース・スキーマ・ロールの一覧、postgresql.confのエディタ。変更は確認ゲートつきです。
破壊的な変更の前に、自動でスナップショットを取ります。ダンプの復元はストリーミングで、レプリケーションの準備状況やスロットも見られます。
制約こそがプロダクトです。
やろうと決めて、3分後にはテーブルを眺めている。
無料
ローカル完結・Docker
MITライセンス · ソースはGitHub
認証のない、ローカル完結の設計です。公開インターネットには晒さないでください。
git clone https://github.com/MR-TABATA/cli2ui
cd cli2ui
docker compose up