Most Postgres outages that start with "the database feels slow" end with an autopsy mentioning bloat, wraparound, or a table that has not been vacuumed aggressively enough. The frustrating part is that the signals were visible in catalog views long before the pager fired.
What bloat actually costs
Dead tuples inflate heap and index size, slow sequential scans, and push buffer cache pressure into unrelated queries. Insightral rules watch table bloat ratios, freeze age, and autovacuum lag — not as a one-off dashboard, but as findings you can trend week over week.
Why we stay deterministic
Autovacuum tuning recommendations should not depend on an LLM hallucinating a threshold. Insightral emits reproducible findings first; plug-in AI explains the finding in plain English only after the rule fires.
Try it on a staging clone
Point the read-only agent at a clone with representative churn. You will see which tables dominate bloat and which autovacuum settings deserve a change before production notices.
