# migrate-postgres-tables-to-hypertables

Планирует перевод таблиц PostgreSQL в гипертаблицы TimescaleDB: выбор колонки партиционирования, интервал чанков, ключи и сжатие.

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

## Что делает

Скилл ведёт по шагам миграции уже отобранных таблиц PostgreSQL в гипертаблицы TimescaleDB. Сначала он помогает выбрать колонку партиционирования: подойдут `timestamp`, `timestamptz`, `date` или последовательный целочисленный `id`. Для таблиц, где есть и `id`, и время, скилл предлагает партиционировать по `id` и включить minmax-индексы по временной колонке.

Дальше считается интервал чанков. Скилл советует держать индексы свежих чанков меньше 25% от RAM, а если непонятно — оставить 7 дней. Отдельный блок про первичные и уникальные ключи: они должны включать колонку партиционирования. Если нет, скилл не станет менять ограничение сам, а сначала спросит разрешение, потому что это ломает код приложения. Без согласия миграция не выполняется.

Внутри есть запросы для проверки кардинальности при выборе `segment_by`, настройки `order_by` и sparse-индексов, а также вызов `add_columnstore_policy` для сжатия. Нужен PostgreSQL 15+ с установленным TimescaleDB. Таблицы должны быть уже отобраны как кандидаты — для этого у автора есть парный скилл `find-hypertable-candidates`.

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

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add timescale/pg-aiguide --skill migrate-postgres-tables-to-hypertables -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add timescale/pg-aiguide --skill migrate-postgres-tables-to-hypertables -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add timescale/pg-aiguide --skill migrate-postgres-tables-to-hypertables -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install timescale/pg-aiguide migrate-postgres-tables-to-hypertables
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/migrate-postgres-tables-to-hypertables/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add timescale/pg-aiguide --skill migrate-postgres-tables-to-hypertables -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/timescale/pg-aiguide --path skills/migrate-postgres-tables-to-hypertables
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add timescale/pg-aiguide --skill migrate-postgres-tables-to-hypertables -a opencode
```

### Claude.ai

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

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

## Когда брать
- выбрать колонку партиционирования для таблицы с событиями
- посчитать интервал чанков под объём RAM
- привести первичный ключ в совместимость с гипертаблицей
- настроить сжатие и sparse-индексы после миграции
- проверить, что таблица действительно стала гипертаблицей

## Примеры запросов агенту
- Переведи таблицу orders в гипертаблицу TimescaleDB, подбери колонку партиционирования
- Проверь, включает ли первичный ключ таблицы events колонку партиционирования
- Настрой сжатие для гипертаблицы metrics с segment_by по device_id

## Похожие
- [postgres-best-practices](https://affpapa.org/nevibecode/skills/neondatabase-postgres-best-practices.md) — скилл · 1900 установок
- [neon-postgres](https://affpapa.org/nevibecode/skills/neondatabase-neon-postgres.md) — скилл · 281100 установок
- [postgres-patterns](https://affpapa.org/nevibecode/skills/postgres-patterns.md) — скилл · 5200 установок
- [postgres](https://affpapa.org/nevibecode/skills/sanjay3290-postgres.md) — скилл · 620 установок
- [reviewing-oracle-to-postgres-migration](https://affpapa.org/nevibecode/skills/reviewing-oracle-to-postgres-migration.md) — скилл · 1800 установок
- [supabase-postgres-best-practices](https://affpapa.org/nevibecode/skills/supabase-supabase-postgres-best-practices.md) — скилл · 40 установок

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

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