AIKraft/Skills/design-postgres-tables

design-postgres-tables

Проектирует таблицы PostgreSQL, выбирает типы данных, индексы и ограничения. Применяет лучшие практики для OLTP, JSONB, партиционирования и нормализации.

TITimescale official Разработка ★ 1.9k

Что делает навык

Навык проектирует таблицы PostgreSQL, выбирая оптимальные типы данных, индексы и ограничения. Он применяет лучшие практики для нормализации, работы с JSONB, партиционирования и OLTP-нагрузок.

Когда применять

  • Проектирование справочных таблиц (users, orders) с первичными ключами и нормализацией до 3NF.
  • Создание таблиц для временных рядов, событий или логов, где первичный ключ не всегда обязателен.
  • Настройка типов данных для финансовых операций (NUMERIC) и событийного времени (TIMESTAMPTZ).
  • Разработка схем с учетом особенностей MVCC и отсутствия автоматической индексации внешних ключей.

Как работает

  1. Определить необходимость первичного ключа: использовать BIGINT GENERATED ALWAYS AS IDENTITY для справочных таблиц или UUID при необходимости глобальной уникальности.
  2. Применить нормализацию до 3NF для устранения избыточности, избегая преждевременной денормализации.
  3. Назначить типы данных: TIMESTAMPTZ для времени событий, NUMERIC для денег, TEXT для строк, BIGINT для целых чисел.
  4. Добавить ограничения NOT NULL и значения по умолчанию DEFAULT там, где это семантически требуется.
  5. Создать индексы для путей доступа: автоматически для PK/unique, вручную для FK, а также для частых фильтров, сортировок и ключей JOIN.
  6. Учесть особенности 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 и совместимые) подхватывает его по описанию и следует шагам.