TGViewer
Работая в айтишечке Работая в айтишечке @workinginit · 1.48K subscribers
Post #300 972
☕️ Как «подружить» LLM с вашей PostgreSQL: лайфхак для быстрой аналитики

Если ваш сервис использует в качестве БД PostgreSQL и вы часто пишете SQL-запросы для аналитики — вам знакома боль: «а какая там колонка?», «как называется связующая таблица?», «какие индексы есть?».

Обычно лезут в pg_catalog или DBeaver, но есть способ проще и удобнее — особенно если вы используете LLM для генерации запросов.

Забудьте про системные таблицы — встречайте pg_dump 🔥 — утилиту командной строки из поставки PostgreSQL, которая создаёт резервные копии БД. Но её можно использовать и для экспорта схемы данных в читаемом виде. И это идеальный способ получить полный контекст для LLM.

(👀 см. карточки ↑)

⚠️ Важные нюансы
— Фильтруйте чувствительные данные перед отправкой в LLM: удалите комментарии с секретами, триггеры с логикой бизнес-правил.
— Обрезайте большой дамп — если схема огромная, оставьте только релевантные таблицы для задачи.
— Используйте .pgpass — чтобы не вводить пароль каждый раз при запуске pg_dump.

Промпт для генерации описания таблиц на основе схемы из pg_dump:

Проанализируй схему PostgreSQL, полученную через утилиту pg_dump (включая CREATE TABLE-запросы, комментарии к таблицам и колонкам, а также определения внешних ключей), и сформируй структурированное описание каждой таблицы в следующем формате:

# Описание таблиц BI-системы

## Хранилище данных: PostgreSQL

### Таблица: [название таблицы]
**Описание:** [Текст из COMMENT ON TABLE. Если комментарий отсутствует, сформулируй краткое описание на основе названия таблицы и контекста.]

**Колонки:**
- **[имя колонки]** ([тип данных]): [Текст из COMMENT ON COLUMN. Если комментарий отсутствует, опиши назначение на основе названия колонки и типа данных. Для внешних ключей добавь: "Ссылка на [таблица].[колонка] ([пояснение связи, например: 'определяет контекст видимости', 'используется для проверки условий']".]

**Бизнес-логика:**
- [Перечисли ключевые аспекты логики на основе:
1. Связей через внешние ключи (например: "Связь с [таблица] через [колонка] определяет [логика]"),
2. Флагов/статусов (например: "Использование флага [колонка] позволяет [действие]"),
3. Контекста из комментариев (например: "Алерты срабатывают при [условие] на основе данных из [таблица]").
Каждый пункт должен начинаться с тире и содержать пояснение, как колонка или связь влияет на бизнес-процессы.]

---

Требования к оформлению:
1. Используй строгую структуру с markdown-заголовками (###, **, -).
2. Для внешних ключей в разделе "Колонки" всегда указывай связанную таблицу и логику связи (например: "Ссылка на queries.id, по результатам которого проверяются условия алерта").
3. В "Бизнес-логике" фокусируйся на взаимодействии таблиц, условиях срабатывания, правах доступа и других бизнес-аспектах (не технических деталях).
4. Если в схеме отсутствуют комментарии, сделай обоснованные выводы на основе названий колонок и типов данных (например, `is_active` → "Флаг активности записи").
5. Не добавляй информацию, которой нет в схеме (только то, что можно вывести из pg_dump и логических связей).

Пример корректного описания для таблицы alerts (как в приложенном файле) должен быть воспроизведен для каждой таблицы в схеме.


🤌 Итого
pg_dump — это не только для бэкапов. Это мощный инструмент для ускорения работы с данными, особенно в связке с LLM. Вы экономите время на рутине и фокусируетесь на том, что действительно важно — анализе и принятии решений.

См.также
— Как писать SQL-запросы с помощью LLM: гайд для менеджеров без аналитиков
— Pg_dump документация

#tips #llm #sql #analytics
  • 🔥 9
  • ❤ 5
  • 👍 3
More from @workinginit
  1. Sep 25, 2026Пятничный мем #memes
  2. Sep 25, 2026Post #468
  3. Sep 24, 2026☕️ Курс «AI-агенты для продактов» Ребята из MLINSIDE пригласили провести модуль "Аналитика…
  4. Sep 14, 2026Post #466
  5. Sep 10, 2026Post #465
  6. Sep 9, 2026Post #464
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →