# duckdb

Правило задаёт стиль и практики для DuckDB SQL: от CTE и настроек сессии до загрузки данных и индексов. Пригодится при написании и рефакторинге аналитических запросов.

- правило · `type=rule` · Cursor · ★ 3580
- Автор: sanjeed5
- Лицензия: CC0-1.0 · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/sanjeed5/awesome-cursor-rules-mdc/tree/HEAD/rules-mdc/duckdb.mdc
- Обновлён: 2026-05-19
- HTML: https://affpapa.org/nevibecode/rules/duckdb

## Что делает

Правило применяется к файлам проекта по шаблону `**/*` и направляет работу с DuckDB SQL. Оно советует разбивать сложные запросы на CTE, придерживаться единого стиля SQLFluff и явно задавать `PRAGMA threads` и `PRAGMA memory_limit` в начале скрипта. Настройки стоит соотносить с окружением: иначе можно израсходовать лишние ресурсы или недополучить их.

Для массовой загрузки CSV, Parquet и JSON предлагается `COPY ... FROM`; индексы рекомендуются для избирательных точечных запросов и небольших диапазонов, а не для каждой колонки. Правило также призывает явно указывать источники данных и псевдонимы. Если в проекте нет общей конфигурации `.sqlfluff`, часть рекомендаций по стилю останется без заданного инструмента проверки.

## Установка

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

**Вручную: положить файлы**
- Файл: `.cursor/rules/duckdb.mdc` — Во frontmatter: description, globs, alwaysApply

### Claude Code

**Вручную: положить файлы**
- Файл: `.claude/rules/duckdb.md` — Поле paths во frontmatter ограничивает файлы: globs из источника → paths

### Codex

**AGENTS.md**
- Codex читает AGENTS.md: вставьте текст правила туда

### GitHub Copilot

**Вручную: положить файлы**
- Файл: `.github/instructions/duckdb.instructions.md` — Поле applyTo задаёт, к каким файлам применять: globs из источника → applyTo

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/rules/duckdb.md`

### Cline

**Вручную: положить файлы**
- Файл: `.clinerules/duckdb.md`

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/sanjeed5/awesome-cursor-rules-mdc/tree/HEAD/rules-mdc/duckdb.mdc

## Когда брать
- Разбить вложенный запрос DuckDB на понятные CTE
- Настроить потоки и лимит памяти в SQL-скрипте
- Загрузить большой файл через `COPY ... FROM`
- Решить, нужен ли B-tree индекс для условия выборки

## Примеры запросов агенту
- Приведи этот запрос DuckDB к рекомендациям проекта и раздели сложную логику на CTE.
- Проверь загрузку большого CSV и предложи вариант с `COPY ... FROM`.
- Посмотри, оправдан ли индекс для этого фильтра в DuckDB.

## Похожие
- [duckdb-skills](https://affpapa.org/nevibecode/plugins/duckdb-skills.md) — плагин · ★ 613
- [duckdb-docs](https://affpapa.org/nevibecode/skills/duckdb-docs.md) — скилл · 1300 установок
- [openduck-distributed-duckdb](https://affpapa.org/nevibecode/skills/openduck-distributed-duckdb.md) — скилл · 424 установки
- [mcp-server-motherduck](https://affpapa.org/nevibecode/mcp/mcp-server-motherduck.md) — MCP-сервер · ★ 536
- [altertable](https://affpapa.org/nevibecode/plugins/altertable.md) — плагин · ★ 7
- [data-analysis](https://affpapa.org/nevibecode/skills/bytedance-data-analysis.md) — скилл · 3600 установок

Из того же набора: [sanjeed5/awesome-cursor-rules-mdc](https://affpapa.org/nevibecode/by/sanjeed5/awesome-cursor-rules-mdc.md) — 240 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

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