Environments & production guards
Each connection is tagged with an environment: local, dev, stage, prod. The tag drives the indicator color and the set of guards ide99 enables automatically.
Indicator color
| Env |
Color |
Where |
| local |
green |
dot next to the connection name, top bar of the editor |
| dev |
blue |
same |
| stage |
yellow |
same |
| prod |
red |
same + a red PROD badge in the window title bar |
The color is the primary visual signal. Before DROP TABLE, your eye must see red.
What changes by environment
| Behavior |
local |
dev |
stage |
prod |
| Title-bar color |
green |
blue |
yellow |
red |
| Read-only by default |
— |
— |
— |
✓ |
Confirm DROP/DELETE without WHERE |
— |
— |
optional |
required |
| Slow-query warning |
— |
— |
soft |
hard |
| Exclude from history |
— |
— |
— |
optional |
You can override per-connection in the form — fields Read-only, Confirm destructive, Slow query warning, Exclude from history.
Read-only mode
When on, ide99 blocks any query that mutates data or schema: INSERT, UPDATE, DELETE, TRUNCATE, CREATE, ALTER, DROP, GRANT, REVOKE, any DDL. The query is highlighted red and the Run button disabled.
To write on a prod connection — uncheck Read-only in the connection form. That's an explicit action that can't be done "by mistake". ide99 will ask for confirmation.
Confirm destructive
A second guard: when you try DROP TABLE x, DELETE FROM x without WHERE, or TRUNCATE x, a modal opens:
Confirm DROP TABLE "x"
Type the table name to confirm:
[ ]
The query won't run until the name is typed exactly. Good habit: never disable this for prod.
Slow query warning
ide99 runs EXPLAIN (without ANALYZE) before the actual run. If estimated cost > 100,000 or a Seq Scan over a large table is in the plan — a dialog appears:
"This query may be heavy: estimated cost 280,000, Seq Scan on orders (5M rows). Run anyway?"
This saves you from accidentally running SELECT * FROM events WHERE … without an index on prod.
Exclude from history
When on — queries against this connection don't go into the History tab. Useful for prod with sensitive data: passwords, tokens, PII don't end up in local history.
Per-query override
Sometimes the guard gets in the way (e.g., you need to clean up a test table on a dev server marked as prod). The Run anyway button in the confirmation dialog lifts the block for one run, without changing the connection settings. Better than disabling guards permanently.
Next