Поделиться через


Краткое руководство. Настройка расширения GitHub Copilot для PostgreSQL в предварительной версии Visual Studio Code

Расширение PostgreSQL для Visual Studio Code теперь включает интеграцию GitHub Copilot, повышая рабочие процессы базы данных с помощью ИИ. Copilot получает доступ к контекстной информации из вашего активного подключения после подключения к базе данных PostgreSQL. Это позволяет участнику чата Copilot @pgsql создавать точные SQL-запросы, учитывающие схемы, и аналитические данные, упрощая разработку и минимизируя переключение контекста в Visual Studio Code.

Предпосылки

Прежде чем начать, убедитесь, что у вас есть необходимые средства и ресурсы, скачанные и установленные.

Эти инструменты и ресурсы помогут вам следовать инструкциям в этой статье и максимально использовать интеграцию GitHub Copilot для расширения PostgreSQL в Visual Studio Code.

Установка расширений GitHub Copilot и GitHub Copilot Chat

  1. Если у вас еще нет расширения GitHub Copilot, установленного в Visual Studio Code:

  2. Щелкните значок расширений в Visual Studio Code, найдите GitHub Copilot и нажмите кнопку "Установить".

  3. Расширение чата GitHub Copilot устанавливается автоматически вместе с GitHub Copilot.

Войдите в GitHub в Visual Studio Code

  1. Убедитесь, что у вас есть учетная запись GitHub и активная подписка на GitHub Copilot:

  2. В Visual Studio Code щелкните значок учетной записи и нажмите кнопку входа с помощью GitHub, чтобы использовать GitHub Copilot.

Начало работы с GitHub Copilot

Выполните действия, чтобы начать использование GitHub Copilot с расширением PostgreSQL Visual Studio Code.

  1. Щелкните правой кнопкой мыши базу данных PostgreSQL и выберите чат с этой базой данных.

  2. Если появится запрос, выберите Разрешить, чтобы GitHub Copilot мог получить доступ к контексту подключения к базе данных.

  3. Когда откроется интерфейс чата Copilot, можно начать задавать вопросы с помощью @pgsql префикса, чтобы указать, что вы хотите взаимодействовать с базой данных PostgreSQL.

Попробуйте выполнить запрос, например:

@pgsql tell me about the tables in the HR schema

Снимок экрана с ответом Copilot Chat, показывающим подробную разбивку таблиц и столбцов в HR-схеме базы данных PostgreSQL.

  1. Copilot отвечает с подробным описанием таблиц схемы.

Использование возможностей чтения и записи

Интеграция GitHub Copilot с расширением PostgreSQL в Visual Studio Code обеспечивает удобные возможности чтения и записи, что позволяет разработчикам более эффективно взаимодействовать с базами данных. Используя предложения СИ, вы можете выполнять такие задачи, как запросы данных, изменение схем и обновление записей непосредственно из редактора. Эта функция упрощает сложные операции, сокращает усилия вручную и повышает производительность при сохранении точности и осведомленности о контексте.

Замечание

Интеграция чата GitHub Copilot для PostgreSQL — это мощный инструмент, который может вносить изменения в базу данных. Важно использовать эту функцию с осторожностью, особенно в тестовых и рабочих средах. Всегда просматривайте созданный код SQL перед его выполнением и сначала рассмотрите возможность тестирования в безопасной среде.

Попробуйте более продвинутый запрос.

@pgsql convert the hr.employees table to use a JSONB column for the address field

Copilot может отвечать на предложения SQL и запрашивать разрешение на внесение изменений.

Для утверждения выполнения:

@pgsql Yes, please make the JSONB column for me

Затем Copilot запрашивает подтверждение:

@pgsql Yes, I confirm

Использование параметров контекстного меню

  • Вы можете выбрать код SQL в редакторе и щелкнуть правой кнопкой мыши, чтобы получить доступ к параметрам контекстного меню GitHub Copilot, например "Объяснить запрос", " Перезаписать запрос" или "Анализ производительности запросов".

Дополнительные идеи и рецепты заготовок

С GitHub Copilot для PostgreSQL вы можете выполнять множество задач — ограничение только ваше воображение! Чтобы помочь перейти к некоторым идеям, ниже приведены некоторые основные предложения, которые можно попробовать или изменить для сопоставления контекста базы данных и среды разработки:

Оптимизация запросов

Вот некоторые промпты, которые вы можете использовать для направления Copilot в решении конкретных задач, связанных с оптимизацией запросов, что поможет достичь эффективных и надежных операций базы данных.

I'm working on optimizing my database for high-concurrency workloads. The table is called transactions with millions of records, and I'm experiencing deadlocks under a heavy load. Help me optimize my table schema and queries.

I need help writing a query. The data is stored in the orders table, which uses the columns customer_id, order_date, and total_price. I also need to include a rolling 3-month average of customer spending using a window function.

I'm getting this error: 'ERROR: column `orders.total_price` must appear in the GROUP BY clause or be used in an aggregate function.

Оптимизация производительности

Ниже приведены некоторые подсказки, которые можно использовать, чтобы помочь Copilot решить конкретные задачи оптимизации производительности, предоставляя возможность быстрее и эффективнее выполнять операции с базами данных.

Provide the Explain Plan for my most recent query, and please explain each step.

Can you run some performance metrics on my database and tell me how it performs?

My orders table has 10 million records, and queries on customer_id and order_date are slow. How can I optimize indexing, partitioning, and schema design for performance?

Разработка приложений

Ниже приведены некоторые запросы, которые можно использовать, чтобы помочь Copilot в решении задач разработки приложений.

Generate a FastAPI endpoint to fetch orders from the ecom.orders table with pagination.

Generate an ETL pipeline script to clean and normalize the customer table data.

Generate a FastAPI project with my database using SQLAlchemy.

Очистка

Чтобы обеспечить бесперебойную работу, очистите все временные ресурсы или конфигурации, созданные во время этого быстрого старта. Рассмотрим пример.

  • Отключитесь от базы данных PostgreSQL в Visual Studio Code.
  • Удалите все тестовые базы данных или таблицы, созданные во время сеанса.
  • Закройте все открытые подключения, чтобы избежать ненужного использования ресурсов.

Отзывы и поддержка

Для ошибок, запросов функций и проблем используйте встроенное средство обратной связи в Visual Studio Code. Это можно выполнить с помощью меню справки VS Code или палитры команд PGSQL.

  • Меню справки

    • Перейти к Помощь > Сообщить о проблеме
  • Палитра команд

    • Откройте палитру команд с помощью Ctrl + Shift + P и выполните: PGSQL: Report Issue