See the result before you commit to it
The dangerous part usually isn't the operation — it's not knowing until you've done it. Whatever can be answered first, is — and none of it leaves anything behind in your database.

Database Ops · Local-only
A web UI over the database CLI commands you keep half-remembering. No AI, no magic — just psql / mysql operations turned into clicks, running fully on your machine.
git clone https://github.com/MR-TABATA/cli2ui
cd cli2ui
docker compose up
Local-only · Docker

The dangerous part usually isn't the operation — it's not knowing until you've done it. Whatever can be answered first, is — and none of it leaves anything behind in your database.

Count the rows a NOT VALID foreign key never checked — without validating it, and without changing anything.

The workspace overview puts every panel one click away, with live counts. Table detail has columns, indexes, a row preview, a filter builder, CSV import/export, and one-click backup or rename.

A read-only transaction with a statement timeout and a 1000-row cap. No SQL is parsed to guess your intent — the server itself refuses the write. EXPLAIN, scale and index what-ifs are built in.

Build a hypothetical index inside one transaction, compare EXPLAIN ANALYZE before and after, then ROLLBACK. Know it helps before you create it.

Every ALTER / DROP / TRUNCATE / rename runs under a short lock_timeout (2 s). If the lock can't be taken, it gives up and nobody queues behind it.

Save query plans and diff two of them — before and after an index — instead of copy-pasting plans into a scratch file.

EXPLAIN the same query at 1× / 100× / 10000× the real row counts (a what-if pg_class edit, always rolled back) to see where the plan shape breaks as data grows.

Running queries and connections from pg_stat_activity, with one-click cancel / kill.
The wait-for chain as a tree: the head blocker at the top, blocked sessions nested under it. Cycles are flagged.
Table sizes, unused indexes, unindexed foreign keys, duplicate indexes, orphan rows, dead rows and a bloat estimate. Facts only — no advice.
The foreign-key graph sorted into a safe TRUNCATE order and its reverse (load order), with FK cycles named. Nothing is truncated.
Installed and installable extensions, databases, schemas and roles, and a postgresql.conf editor — changes sit behind a confirm gate.
Automatic snapshots before destructive changes, streamed dump restores, and replication readiness and slots.
The constraints are the product.
You're looking at your tables 3 minutes after deciding to.
Free
Local-only · Docker
MIT License · Source on GitHub
Designed to run locally with no authentication. Never expose it to the public internet.
git clone https://github.com/MR-TABATA/cli2ui
cd cli2ui
docker compose up