TI
design-postgres-tables
Проектирует таблицы PostgreSQL, выбирает типы данных, индексы и ограничения. Применяет лучшие практики для OLTP, JSONB, партиционирования и нормализации.
Что делает навык
Навык проектирует таблицы PostgreSQL, выбирая оптимальные типы данных, индексы и ограничения. Он применяет лучшие практики для нормализации, работы с JSONB, партиционирования и OLTP-нагрузок.
Когда применять
- Проектирование справочных таблиц (users, orders) с первичными ключами и нормализацией до 3NF.
- Создание таблиц для временных рядов, событий или логов, где первичный ключ не всегда обязателен.
- Настройка типов данных для финансовых операций (NUMERIC) и событийного времени (TIMESTAMPTZ).
- Разработка схем с учетом особенностей MVCC и отсутствия автоматической индексации внешних ключей.
Как работает
- Определить необходимость первичного ключа: использовать BIGINT GENERATED ALWAYS AS IDENTITY для справочных таблиц или UUID при необходимости глобальной уникальности.
- Применить нормализацию до 3NF для устранения избыточности, избегая преждевременной денормализации.
- Назначить типы данных: TIMESTAMPTZ для времени событий, NUMERIC для денег, TEXT для строк, BIGINT для целых чисел.
- Добавить ограничения NOT NULL и значения по умолчанию DEFAULT там, где это семантически требуется.
- Создать индексы для путей доступа: автоматически для PK/unique, вручную для FK, а также для частых фильтров, сортировок и ключей JOIN.
- Учесть особенности PostgreSQL: использовать snake_case, избегать кавычек в идентификаторах, учитывать поведение NULL в UNIQUE и наличие разрывов в последовательностях.
Примеры запросов агенту
Спроектируй таблицу пользователей с первичным ключом и нормализованной структурой.
Создай таблицу для логов событий с типом TIMESTAMPTZ и индексами по частым фильтрам.
Настрой схему для финансовых транзакций с использованием типа NUMERIC и внешних ключей.
Описание составлено по SKILL.md навыка, сверено 10.10.2026.
Как подключить
1Скачать навык
# возьмите папку навыка «design-postgres-tables» из репозитория:
# https://github.com/timescale/pg-aiguide
2Положить папку с
SKILL.md к навыкам ассистента# положите папку навыка туда, где ассистент ищет skills:
cp -r design-postgres-tables/ ~/.claude/skills/design-postgres-tables/
Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.