- EssaySep 28, 20267 min
Why SELECT DISTINCT doesn’t scale on Postgres — rewrite patterns that do
On Postgres, SELECT DISTINCT is usually a late Sort or HashAggregate. It is fine for small, already-unique streams — and a classic band-aid when a bad join multiplies rows. Here are the rewrite patterns that actually scale, and when a context-aware agent should refuse the DISTINCT shortcut.
Read post - ArchitectureSep 25, 20267 min
Schema Guardian: classify migration risk before the LLM softens it
LLMs soften migration risk into chat vibes. Schema Guardian classifies locks, rewrites, money types, DROP/TRUNCATE, missing tenant scope, and replica-unsafe patterns first — then the model explains a fixed GO or NO-GO.
Read post - Field notesSep 23, 20267 min
Session GUCs aren’t a security boundary for AI agents
Role-level statement_timeout and default_transaction_read_only are user-context GUCs — any session can SET them off or bypass them with PGOPTIONS. For AI agents on Postgres, real boundaries live in pg_hba, grants, role attributes, watchdogs, and replicas — not in rolconfig.
Read post
ProductSep 21, 20265 minDBA can run confirmed DDL/DML now — DROP and TRUNCATE still hard-blocked
DeepSQL’s DBA role can now run confirmed DDL and DML through the Editor and MCP — same gates as Admin, without MANAGE_USERS. DROP, TRUNCATE, and similar high-risk ops stay blocked on purpose.
Read post
EssaySep 6, 20267 minHigh time for relational databases to start thinking?
A query engine engineer turned founder on database bloat, a PII leak from a legacy endpoint, and what a database that actually thinks would look like.
Read post