SuperAPI AI 工具集

db-storage-bloat

智能体与模型

查看项目

更新于 10-15 22:11

技能介绍

用途:审计数据库长期存储可运维性,覆盖 VACUUM/autovacuum 健康度、表与索引膨胀、事务 ID(TXID)回卷风险,以及 Cassandra/Scylla 等宽列库的墓碑累积。回卷迫近时定为严重度 5,可导致 Postgres 停机。

主要能力:静态层(Tier-0)检测禁用 autovacuum 的 DDL/配置(autovacuum_enabled = false、激进 fillfactor)、高删除/TTL 访问模式、宽列删除密集建模;死元组数、真实膨胀、frozen-xid 年龄、墓碑计数需连接实时库,Tier-0 状态为 needs_api,不会静默通过。Tier-1/2 用查询验证,例如: SELECT datname, age(datfrozenxid) AS xid_age, current_setting('autovacuum_freeze_max_age')::int AS freeze_max FROM pg_database ORDER BY age(datfrozenxid) DESC; SELECT relname, n_dead_tup, n_live_tup, last_autovacuum FROM pg_stat_user_tables ORDER BY n_dead_tup DESC LIMIT 20;

发现项按 schema 输出,如 M18.db.txid_wraparound_imminent(严重度 5、fail、需 Tier-1 实时证据)、M18.events.autovacuum_disabled(严重度 3、warn)、M18.events.dead_tuple_bloat(严重度 3、warn)。证据需逐字引用配置/DDL 行或目录统计行,复现查询引用 $DATABASE_URL,影响按区间与置信度标注。

限制:回卷严重度 5 必须有实时 age() 证据,无连接时只发 needs_api;部分膨胀属正常稳态余量,仅在存在变更模式或实测死元组比例时标记;不得引用无法观测的死元组百分比或回卷天数。修复建议为 advisory/proposed,如降低 FILLFACTOR(默认 100/90 → 70)以促成 HOT 更新,减少索引写放大。