SuperAPI AI 工具集

find-hypertable-candidates

通用与其它

查看项目

更新于 10-15 21:05

技能介绍

用途:分析现有 PostgreSQL 数据库,识别哪些表适合转换为 Timescale/TimescaleDB 超表,识别后需配合 migrate-postgres-tables-to-hypertables 技能完成配置与迁移。\n\n主要能力:通过数据库连接或代码分析两种方式评估表结构。数据库侧可查询表统计与大小、索引模式、查询模式(需 pg_stat_statements)及约束兼容性;代码侧检查插入/查询模式与 schema 特征。评分标准为 8 分及以上视为强候选:时间序列特征需 5 分以上(时间戳列 3 分、按时序插入 2 分、按时间过滤查询 2 分、时间聚合 2 分),规模与性能推荐 3 分以上(大表 2 分、高插入量 1 分、历史数据少更新 1 分、范围查询 1 分、聚合查询 2 分),另有实体 ID、数值度量、日志/事件结构等加分项。\n\n适用场景:插入为主的数据模式,如传感器/监控指标、事件日志、交易记录、顺序 ID 数据、仅追加数据集;要求数据量大(100 万行以上)、基于时间的查询、历史更新少。典型良好候选包括 user_events、audit_logs、sensor_readings、telemetry、stock_prices、transactions、monitoring_data。\n\n限制与注意:频繁更新历史记录、按非时间维度点查的用户表、设置/配置表、小型静态参考表(如 countries、categories)不适合。约束兼容性:主键与唯一约束须含分区列;外键普通表→超表、超表→普通表可行,超表→超表不支持;检查约束通常可行。ID 型表若插入为主、更新集中在近期记录、ID 与时间相关且 ID 是主要查询维度,可考虑按 ID 分区并对时间列建稀疏索引。数据库连接方式需要相应权限,查询模式分析依赖 pg_stat_statements 扩展。