# find-hypertable-candidates

Разбирает схему PostgreSQL и подсказывает, какие таблицы стоит перевести в hypertable TimescaleDB. Нужен перед миграцией на Timescale.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 391 установка · ★ 1874
- Автор: tigerdata
- Лицензия: Apache-2.0 · policy=mirror · лицензия открытая, файл — в исходнике
- Исходник: https://github.com/timescale/pg-aiguide/tree/HEAD/skills/find-hypertable-candidates/SKILL.md
- Обновлён: 2026-10-22
- HTML: https://affpapa.org/nevibecode/skills/find-hypertable-candidates

## Что делает

Скилл смотрит на статистику таблиц, индексы и шаблоны запросов, а потом ранжирует таблицы по пригодности для hypertable. Внутри — готовые SQL-запросы: по `pg_stat_user_tables` и `pg_total_relation_size` он собирает число вставок, обновлений и удалений, по `pg_indexes` ищет индексы с колонками времени, а через `pg_stat_statements` разбирает дорогие запросы. Есть и второй путь — анализ кода: скилл распознаёт вставки в логи событий и метрики, запросы с фильтром по времени и агрегации по дням.

Дальше идёт оценка. Таблица набирает баллы, и 8+ баллов означают хорошего кандидата. Отдельно разобраны таблицы с последовательным ID: их можно партиционировать по ID, если вставки преобладают, а обновления затрагивают только свежие записи — так устроены заказы, где статус меняется от оформления к доставке и после доставки уже не трогается. Для таких случаев скилл советует разреженные индексы по колонке времени.

Что нужно заранее: PostgreSQL 15+ с установленным TimescaleDB. Проверьте ограничения до миграции — первичный и уникальный ключи должны включать колонку партиционирования, а связь hypertable→hypertable не поддерживается, поэтому её придётся переделать. После отбора таблиц конфигурацию и саму миграцию берёт на себя парный скилл `migrate-postgres-tables-to-hypertables`.

## Требования
- Работает с: PostgreSQL

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add timescale/pg-aiguide --skill find-hypertable-candidates -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/find-hypertable-candidates/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/find-hypertable-candidates/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add timescale/pg-aiguide --skill find-hypertable-candidates -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/find-hypertable-candidates/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add timescale/pg-aiguide --skill find-hypertable-candidates -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/find-hypertable-candidates/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install timescale/pg-aiguide find-hypertable-candidates
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/find-hypertable-candidates/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add timescale/pg-aiguide --skill find-hypertable-candidates -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/timescale/pg-aiguide --path skills/find-hypertable-candidates
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/find-hypertable-candidates/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add timescale/pg-aiguide --skill find-hypertable-candidates -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/timescale/pg-aiguide/tree/HEAD/skills/find-hypertable-candidates/SKILL.md

## Когда брать
- найти в схеме таблицы, которые выиграют от hypertable
- отличить журнал событий от справочника, который трогать не надо
- посчитать соотношение вставок и обновлений по таблице
- проверить индексы на колонки времени перед миграцией
- оценить, влезет ли таблица с последовательным ID в партиционирование

## Примеры запросов агенту
- проанализируй таблицы в моей базе PostgreSQL и скажи, какие стоит перевести в hypertable
- посмотри индексы и статистику вставок в таблице `orders` — подходит ли она под TimescaleDB?
- оцени таблицы `events` и `metrics` по баллам и покажи, кто набрал 8 и больше

## Похожие
- [databases](https://affpapa.org/nevibecode/skills/databases.md) — скилл · 435 установок
- [sql-migrations](https://affpapa.org/nevibecode/commands/sql-migrations.md) — команда · ★ 41729
- [postgres-best-practices](https://affpapa.org/nevibecode/skills/neondatabase-postgres-best-practices.md) — скилл · 1900 установок
- [drizzle-orm](https://affpapa.org/nevibecode/skills/drizzle-orm.md) — скилл · 1000 установок
- [database-design](https://affpapa.org/nevibecode/skills/moizibnyousaf-database-design.md) — скилл · 604 установки
- [neon-postgres](https://affpapa.org/nevibecode/skills/neondatabase-neon-postgres.md) — скилл · 281100 установок

Из того же набора: [timescale/pg-aiguide](https://affpapa.org/nevibecode/by/timescale/pg-aiguide.md) — 9 карточек

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
