AI-контекст для SQL-запросов
Как собрать структурированный Markdown-контекст о SQL-запросе и объектах PostgreSQL для работы с ИИ.
Когда использовать
AI-контекст помогает передать ИИ не только текст SQL, но и технические сведения, без которых сложно предложить точную оптимизацию или безопасную доработку: DDL, индексы, ограничения, статистику, план выполнения и параметры PostgreSQL.
pgtools собирает эти данные в структурированный Markdown на английском языке. Готовый текст можно проверить и отредактировать перед копированием в выбранный ИИ-сервис.
Как открыть
Установите курсор внутрь нужного SQL statement или выделите фрагмент SQL, затем нажмите Создать AI-контекст на главной панели. Также доступна настраиваемая горячая клавиша; сочетание по умолчанию — Ctrl+Shift+Alt+C.
Если есть выделение, pgtools использует его. Иначе берётся текущий исполняемый statement — тот же фрагмент, который приложение выбрало бы для выполнения.

Настройте задачу
Выберите режим: Оптимизация, Рефакторинг или Доработка. Опишите ожидаемый результат и отметьте допустимые изменения: переписывание SQL, работу с индексами, изменение схемы или настроек PostgreSQL, использование расширений.
Если в исходной SQL-вкладке уже построен план выполнения, pgtools добавляет его в контекст и выбирает режим Оптимизация. Самостоятельно запускать EXPLAIN ANALYZE генератор не будет.
Выберите набор данных
Пресеты позволяют управлять объёмом контекста:
- Компактный — SQL, существующий план, DDL, поля, ограничения, индексы, размеры и оценки количества строк, версия PostgreSQL;
- Стандартный — компактный набор плюс статистика таблиц, полей и индексов, extended statistics, партиционирование, функции,
pg_stat_statements, настройки планировщика и расширения; - Полный — стандартный набор плюс рекурсивные зависимости представлений, триггеры, rules, RLS policies, связанные по FK объекты и примеры данных;
- Свой вариант — произвольный набор флажков. Изменение любого флажка готового пресета автоматически включает этот режим.
Кнопка Использовать по умолчанию сохраняет выбранный набор, параметры задачи, анонимизацию и настройки примеров данных для следующих запусков.
Проверьте объекты контекста
pgtools анализирует SQL и добавляет найденные таблицы, обычные и материализованные представления, функции и поддерживаемые SQL-параметры. Каждый объект отображается отдельным тегом schema.object.
Ненужный объект можно удалить, дополнительный — найти по имени или перетащить из дерева объектов. Для представлений можно рекурсивно раскрывать зависимости; глубина по умолчанию — три уровня. В режиме Доработка также добавляются связанные по внешним ключам объекты первого уровня.
Сформируйте и сохраните Markdown
Справа находится редактируемый Markdown в Monaco Editor. По умолчанию включена Автогенерация контекста: изменение режима, параметров, набора или списка объектов асинхронно обновляет результат. Если автогенерация выключена, нажмите Сформировать заново.
Готовый текст можно отредактировать, скопировать кнопкой Копировать или сохранить обычными командами сохранения из панели инструментов. Пустые разделы в Markdown не создаются.
Следите за прогрессом или отмените сбор
Во время получения метаданных status bar показывает текущий этап и общий прогресс, например AI Context: 6/11 — table statistics. Кнопка Прервать получение контекста отменяет активные запросы и не запускает следующие этапы.
Уже собранные данные сохраняются в результате, а Markdown получает отметку о незавершённой генерации. Ошибка одного источника также не прерывает весь процесс: вместо недоступного раздела добавляется краткая заметка без технического stack trace.
Анонимизация и примеры данных
Анонимизировать данные включено по умолчанию. Анонимизируются значения в примерах, наиболее частые значения и границы гистограмм; одинаковые исходные значения получают одинаковые замены в пределах одной генерации. Типы PostgreSQL, NULL и boolean сохраняются.
Исходный SQL и имена схем, таблиц, полей, функций и индексов не изменяются. Если включаете примеры данных, выберите количество строк и формат CSV или JSON.
Пример сценария
- Постройте план медленного SELECT в исходной вкладке.
- Нажмите Создать AI-контекст: режим Оптимизация и план будут выбраны автоматически.
- Оставьте пресет Стандартный, проверьте найденные объекты и укажите, можно ли менять SQL и индексы.
- Опишите ожидаемое время выполнения, дождитесь завершения сбора и просмотрите Markdown.
- Скопируйте проверенный контекст в выбранный ИИ и сформулируйте вопрос.
Безопасность и ограничения
Доступность DDL, статистики, pg_stat_statements и других метаданных зависит от версии PostgreSQL, установленных расширений и прав текущего пользователя. Генератор опрашивает только объекты выбранного контекста, но полный набор и примеры данных могут заметно увеличить объём Markdown.
Анонимизация не скрывает текст SQL и имена объектов. Перед передачей контекста внешнему ИИ обязательно просмотрите результат и удалите коммерческую тайну, персональные данные и другие сведения, которые нельзя отправлять за пределы вашей инфраструктуры.