Анализатор запросов PostgreSQL
Профессиональное расширение для Visual Studio Code, предназначенное для комплексного анализа и оптимизации PostgreSQL запросов с использованием искусственного интеллекта.
Обзор
Анализатор запросов PostgreSQL предоставляет разработчикам мощные инструменты для анализа производительности SQL запросов, выявления узких мест и получения рекомендаций по оптимизации. Расширение интегрируется с Google Gemini AI для предоставления интеллектуальных рекомендаций по улучшению запросов.
Основные возможности
Анализ SQL запросов
- План выполнения запросов - детальный анализ плана выполнения с метриками производительности
- Рекомендации по оптимизации - автоматические предложения по улучшению запросов
- AI-анализ - интеллектуальные рекомендации на основе Google Gemini
- Метрики производительности - оценка стоимости, времени выполнения и количества строк
- Сравнение запросов - анализ оригинального и альтернативного SQL
Анализ базы данных
- Структурный анализ - полный обзор схемы базы данных
- Анализ таблиц - детальная информация о таблицах, колонках и индексах
- Анализ представлений - изучение определений и зависимостей представлений
- Анализ функций - параметры и проблемы пользовательских функций
- Выявление проблем - автоматическое обнаружение потенциальных проблем производительности
Анализ конфигурации PostgreSQL
- Параметры конфигурации - анализ настроек PostgreSQL
- Рекомендации по настройке - предложения по оптимизации конфигурации
- Проверка производительности - оценка текущих настроек
- Сравнение с лучшими практиками - сопоставление с рекомендуемыми значениями
Статистика запросов
- Анализ pg_stat_statements - детальная статистика выполнения запросов
- Фильтрация данных - гибкие фильтры по типу запросов, времени выполнения и количеству вызовов
- Сортировка результатов - различные варианты сортировки статистики
- Экспорт данных - возможность сохранения результатов анализа
Установка
- Откройте Visual Studio Code
- Перейдите в раздел Extensions (Ctrl+Shift+X)
- Найдите "PostgreSQL Analyzer"
- Нажмите "Install"
Настройка
Подключение к базе данных
- Откройте настройки VS Code (Ctrl+,)
- Найдите раздел "PostgreSQL Analyzer"
- Настройте параметры подключения:
- Хост: адрес сервера PostgreSQL
- Порт: порт подключения (по умолчанию 5432)
- База данных: имя базы данных
- Логин: имя пользователя
- Пароль: пароль для подключения
Настройка AI-анализа
- Получите API ключ Google Gemini
- Введите ключ в настройке "Google Gemini API key"
- Включите опцию "Использовать Gemini AI для анализа запросов"
Дополнительные настройки
- Включить структуру базы данных в анализ - добавляет контекст схемы БД в анализ запросов
- Кеширование структуры базы данных - улучшает производительность повторных анализов
- Время жизни кеша - настройка периода обновления кеша структуры БД
Использование
Анализ запроса из редактора
- Выделите SQL запрос в редакторе
- Нажмите Ctrl+Shift+A или используйте Quick Fix (Ctrl+.)
- Выберите "Анализировать запрос"
- Результаты отобразятся в панели расширения
Анализ базы данных
- Откройте панель "PostgreSQL Analyzer"
- Перейдите на вкладку "Анализ БД"
- Нажмите "Анализ БД"
- Изучите результаты структурного анализа
Анализ конфигурации
- В панели расширения перейдите на вкладку "Анализ конфигурации"
- Нажмите "Анализ конфигурации"
- Просмотрите рекомендации по настройке PostgreSQL
Статистика запросов
- Откройте вкладку "Статистика запросов"
- Настройте фильтры при необходимости
- Нажмите "Загрузить статистику"
- Анализируйте данные о производительности запросов
Интерфейс
Панель расширения
Расширение добавляет панель в боковую панель VS Code с следующими вкладками:
- Обзор - общая информация о подключении и статусе
- План выполнения - детальный план выполнения SQL запроса
- Рекомендации - предложения по оптимизации (включая AI-рекомендации)
- Метрики - количественные показатели производительности
- Анализ БД - структурный анализ базы данных
- Анализ конфигурации - настройки PostgreSQL
- Статистика запросов - данные из pg_stat_statements
Статус-бар
В нижней части VS Code отображается статус подключения к PostgreSQL:
- "PostgreSQL: Подключен" - успешное подключение
- "PostgreSQL: Не подключен" - проблемы с подключением
Технические детали
Архитектура
Расширение построено на основе модульной архитектуры:
- WebViewMessageHandler - обработка сообщений между VS Code и веб-интерфейсом
- SqlAnalyzer - анализ SQL запросов и генерация рекомендаций
- DatabaseAnalyzer - структурный анализ базы данных
- ConfigAdvisor - анализ конфигурации PostgreSQL
- PgStatStatementsService - работа со статистикой запросов
- GeminiService - интеграция с Google Gemini AI
Поддерживаемые версии
- Visual Studio Code: 1.74.0 и выше
- Node.js: 18.0.0 и выше
- PostgreSQL: 9.6 и выше
Зависимости
- pg - драйвер PostgreSQL для Node.js
- @google/generative-ai - интеграция с Google Gemini API
Требования
Системные требования
- Visual Studio Code 1.74.0 или новее
- Node.js 18.0.0 или новее
- Доступ к серверу PostgreSQL
Настройки PostgreSQL
Для полной функциональности рекомендуется:
- Включить расширение
pg_stat_statements
для статистики запросов
- Настроить соответствующие права доступа для пользователя БД
- Обеспечить доступ к системным каталогам для анализа структуры
Устранение неполадок
Проблемы с подключением
- Проверьте правильность настроек подключения
- Убедитесь, что сервер PostgreSQL доступен
- Проверьте права доступа пользователя
Проблемы с AI-анализом
- Убедитесь, что API ключ Gemini корректный
- Проверьте подключение к интернету
- Убедитесь, что включена опция использования Gemini
Проблемы с производительностью
- Настройте кеширование структуры БД
- Увеличьте время жизни кеша при необходимости
- Отключите включение структуры БД в анализ, если не требуется
Лицензия
MIT License
Поддержка
Для получения поддержки и сообщения об ошибках используйте репозиторий проекта на GitLab.
Вклад в проект
Команда Oysters Company приветствуем вклад в развитие проекта. Пожалуйста, создавайте issues для сообщения об ошибках и feature requests для предложения новых функций.