Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Расширение PostgreSQL для Visual Studio Code предоставляет редактор запросов с функцией автодополнения IntelliSense, возможностью выполнять запросы с помощью клавиатуры, таблицей результатов с параметрами экспорта и встроенными готовыми фрагментами кода. Вы записываете SQL на вкладку стандартного редактора VS Code и запускаете его на любом подключенном сервере PostgreSQL, не выходя из интегрированной среды разработки.
Необходимые условия
- Расширение PostgreSQL для Visual Studio Code установлено
- Активное подключение к серверу PostgreSQL. Инструкции по настройке см. в кратком руководстве по подключению и запросу PostgreSQL.
Открытие редактора запросов
Вы можете открыть новый редактор запросов несколькими способами:
- В дереве "Подключения" щелкните правой кнопкой мыши узел базы данных и выберите "Создать запрос".
- Запустите
PGSQL: New Queryиз палитры команд (CTRL+SHIFT+P). - Откройте или создайте любой файл с расширением
.sql.
Редактор запросов использует текстовый редактор VS Code с режимом языка SQL. При подключении редактора к серверу расширение активирует IntelliSense и включает команды выполнения запросов.
Подключение и отключение
Чтобы связать редактор запросов с подключением к базе данных:
| Действие | Windows или Linux | macOS |
|---|---|---|
| Подключиться | CTRL+SHIFT+C | Cmd+SHIFT+C |
| Отключить | CTRL+SHIFT+D | Cmd+SHIFT+D |
Вы также можете запустить PGSQL: Connect или PGSQL: Disconnect из палитры команд.
Изменение контекста базы данных
Активная база данных для выполнения запросов отображается в строке состояния VS Code. Чтобы переключиться на другую базу данных, выполните приведенные действия.
- Выберите имя базы данных в строке состояния или запустите
PGSQL: Change PostgreSQL Databaseв палитре команд. - Выберите целевую базу данных из списка выбора.
Новый контекст базы данных применяется ко всем последующим выполнениям запросов в этом редакторе.
Объектив состояния подключения
Если pgsql.showConnectionStatusLens имеет значение true (по умолчанию), редактор отображает в верхней части файла линзу кода, которая показывает текущее состояние подключения. Выберите объектив для подключения или изменения баз данных.
IntelliSense
IntelliSense предоставляет автоматические завершения с учетом контекста при вводе SQL в редакторе запросов. Расширение анализирует схему подключенной базы данных, чтобы предложить таблицы, столбцы, функции и ключевые слова.
IntelliSense активируется автоматически по мере ввода или можно активировать его вручную с помощью ctrl+Space (Cmd+Space в macOS). Доступны следующие типы завершения:
| Тип завершения | Описание |
|---|---|
| Keyword | Ключевые слова SQL, такие как SELECT, FROMWHERE |
| Таблица / Представление | Таблицы и представления в текущей базе данных |
| Column | Столбцы для таблиц, на которые ссылается запрос |
| Function | Встроенные и пользовательские функции |
| Schema | Доступные схемы в базе данных |
| Предложение о присоединении |
JOIN условия на основе связей по внешнему ключу |
Если после ссылки на таблицу ввести JOIN, IntelliSense предложит связанные таблицы и заполнит условие соединения на основе связей по внешним ключам.
Настройка IntelliSense
Включите или отключите IntelliSense с параметром pgsql.intelliSense.enableIntelliSense . IntelliSense включен по умолчанию.
Обновление кэша IntelliSense
При изменении схемы базы данных (например, путем добавления таблиц или столбцов) и IntelliSense не отражает эти изменения, обновите кэш:
- Откройте палитру команд (CTRL+SHIFT+P).
- Выполните команду
PGSQL: Refresh IntelliSense Cache.
Используйте эту команду после миграции схем, изменений DDL или изменений, внесенных за пределами текущего сеанса редактора.
Выполнение запросов
Расширение предоставляет несколько способов выполнения запросов SQL к подключенной базе данных.
Выполнение запроса
Используйте запрос PostgreSQL для запуска SQL в редакторе. При выборе определенного текста выполняется только выбранный текст. Если ничего не выбрано, выполняется всё содержимое редактора.
| Действие | Windows или Linux | macOS |
|---|---|---|
| Выполнение запроса PostgreSQL | Ctrl+Shift+E или Shift+Enter | Cmd+Shift+E или Shift+Enter |
| Выполнение текущей инструкции PostgreSQL | Ctrl+Shift+Enter | Ctrl+Shift+Ввод |
Выполнить текущую инструкцию PostgreSQL выполняет только инструкцию SQL в текущей позиции курсора. Используйте эту команду, если в редакторе несколько инструкций и хотите запустить ее без выбора.
Отмена запроса
Чтобы остановить длительный запрос, выполните команду PGSQL: Cancel PostgreSQL Query из палитры команд. В строке состояния отображается ход выполнения во время выполнения запроса.
Панель результатов запросов PostgreSQL
После выполнения запроса результаты отображаются на панели результатов запросов PostgreSQL под редактором. Панель имеет до трех вкладок в зависимости от типа запроса.
Вкладка "Результаты"
На вкладке "Результаты " отображается сетка результатов. Когда запрос возвращает несколько результирующих наборов, каждый набор отображается в собственной сетке на вкладке.
Сетка результатов предоставляет следующие функции для изучения данных:
- Сортировка: щелкните правой кнопкой мыши заголовок столбца и выберите "Сортировка по возрастанию " или " Сортировка по убыванию". Нажмите кнопку "Очистить сортировку ", чтобы удалить сортировку.
- Фильтр. Щелкните правой кнопкой мыши заголовок столбца и выберите "Показать фильтр ", чтобы сузить отображаемые строки.
-
Изменение размера столбцов: перетащите границы столбцов, чтобы изменить ширину, или включите
pgsql.resultsGrid.autoSizeColumns(включено по умолчанию), чтобы автоматически подбирать ширину столбцов по видимому содержимому. - Нумеровка строк: номера строк отображаются в левой части сетки.
- Поиск. Используйте поле поиска на панели инструментов результатов для поиска значений в сетке.
Присоединенные запросы и более широкие результирующие наборы используют тот же интерфейс сетки, что позволяет сортировать, фильтровать и проверять связанные столбцы без выхода из редактора.
Копирование данных
Щелкните правой кнопкой мыши в сетке результатов для доступа к параметрам копирования:
| Опция | Описание |
|---|---|
| Выбрать все. | Выберите все строки в результирующем наборе |
| Copy | Копирование выбранных ячеек в буфер обмена |
| Копирование с заголовками | Скопировать выбранные ячейки с заголовками столбцов |
| Копирование заголовков | Копирование только заголовков столбцов |
Вы также можете использовать эти сочетания клавиш в области результатов (можно настроить с помощью pgsql.shortcuts параметра):
| Действие | Ярлык по умолчанию |
|---|---|
| Выбор копирования | CTRL+C |
| Выберите все | CTRL+A |
| Переключить панель результатов | CTRL+ALT+R |
| Переключить панель сообщений | CTRL+ALT+Y |
| Сетка результатов фокусировки | CTRL+ALT+G |
| Предыдущая сетка результатов | Ctrl+Вверх |
| Следующая сетка результатов | CTRL+СТРЕЛКА ВНИЗ |
Tip
Установите для pgsql.copyIncludeHeaders значение true, чтобы при каждом копировании включались заголовки столбцов. Установите для pgsql.copyRemoveNewLine значение false, чтобы сохранить символы новой строки в скопированных ячейках.
Сохранение результатов
Экспорт результатов запроса, нажав кнопку сохранения на панели инструментов результатов:
| Кнопка | Format |
|---|---|
| Сохранение в формате CSV | Значения, разделенные запятыми (CSV) |
| Сохранение в формате JSON | Нотация объектов JavaScript (.json) |
| Сохранение как Excel | книга Microsoft Excel (.xlsx) |
Настройте поведение экспорта CSV с помощью следующих параметров:
| Setting | Описание | По умолчанию |
|---|---|---|
pgsql.saveAsCsv.delimiter |
Символ разделителя столбцов | , |
pgsql.saveAsCsv.lineSeparator |
Разделитель строк | Системные настройки по умолчанию |
pgsql.saveAsCsv.textIdentifier |
Символ для обрамления текстовых полей | " |
pgsql.saveAsCsv.encoding |
Кодировка файлов | utf-8 |
pgsql.saveAsCsv.includeHeaders |
Включить заголовки столбцов | true |
Открытие результатов на отдельной вкладке
Для больших наборов результатов откройте результаты в отдельной вкладке редактора, чтобы было больше места. Выберите "Открыть на новой вкладке" на панели инструментов результатов или задайте pgsql.openQueryResultsInTabByDefault значение true в параметрах, чтобы всегда открывать результаты на отдельной вкладке.
Вкладка "Сообщения"
На вкладке "Сообщения" отображаются сведения о выполнении запроса, включая сообщения о состоянии, количество строк и время выполнения. Каждое сообщение содержит метку времени.
Область сообщений открывается по умолчанию вместе с сеткой результатов. Чтобы изменить это поведение, установите значение pgsql.messagesDefaultOpenfalse.
Tip
Установите pgsql.showBatchTime в значение true, чтобы отображать время выполнения для отдельных пакетов.
Вкладка "План запроса"
При запуске EXPLAIN или EXPLAIN ANALYZE запросе вкладка "План запроса " отображается вместе с результатами и сообщениями. Выберите эту вкладку, чтобы открыть встроенный визуализатор плана выполнения или нажмите кнопку визуализировать план запроса на панели результатов запросов PostgreSQL.
Вы также можете запустить план визуализации плана запросов (PostgreSQL) из палитры команд, чтобы визуализировать план текущего запроса.
Подробные сведения о визуализаторе плана выполнения см. в разделе Визуализатор плана запроса.
Представление графов для запросов в Apache AGE
Когда запрос возвращает графовые результаты из Apache AGE, расширение обнаруживает cypher() вызовы функций и шаблоны Apache AGE (agtype, ag_catalog) и открывает пакет результатов в представлении графа вместо стандартной сетки.
- Переключение представлений: выберите "Переключиться на граф " на панели инструментов результатов, чтобы перейти из сетки в представление графа или переключиться на таблицу , чтобы вернуться в сетку.
- Проверьте элементы: выберите узлы или края в графе, чтобы просмотреть их метки и свойства на панели свойств .
- Навигация: Используйте кнопки панели инструментов графика: Увеличить, Уменьшить, Подогнать по размеру и Сброс.
- Экспорт: выберите "Сохранить как PNG " на панели инструментов графа, чтобы экспортировать граф в виде изображения.
Note
Если запрос не возвращает графируемые данные, расширение сохраняет стандартное представление сетки.
Фрагменты кода
Это расширение включает встроенные фрагменты кода PostgreSQL, которые помогают создавать общие шаблоны SQL. Введите префикс фрагмента в редакторе и нажмите клавишу TAB , чтобы развернуть фрагмент кода. Перемещайтесь клавишей Tab по заполнителям в развернутом фрагменте кода, чтобы заполнить значения.
Доступные фрагменты кода
| Префикс | Описание |
|---|---|
pgCreateTable |
Создайте базовую таблицу с первичным ключом |
pgDropDatabase |
Удаление существующей базы данных PostgreSQL |
pgDropTable |
Удаление таблицы |
pgInsertData |
Вставка строки в таблицу |
pgSelectAll |
Простой SELECT * запрос |
pgUpdateRows |
Обновление данных в таблице |
pgDeleteRows |
Удаление данных из таблицы |
pgCreateIndex |
Создание индекса в указанном столбце |
pgCreateUser |
Создание новой роли или пользователя |
pgGrantPrivileges |
Предоставление привилегий для таблицы пользователю |
pgCTE |
Пример общего табличного выражения (CTE) |
pgLeftJoin |
LEFT JOIN Пример запроса |
pgExplainAnalyze |
EXPLAIN ANALYZE запрос сведений о производительности |
pgListTables |
Выведите список всех таблиц в указанной схеме |
Tip
Введите pg в редакторе и просмотрите предложения IntelliSense, чтобы просмотреть все доступные фрагменты кода.
История запросов
В представлении журнала запросов на панели действий PostgreSQL автоматически фиксируются выполняемые запросы, поэтому их можно повторно использовать позже.
Управление журналом запросов
| Действие | Как сделать |
|---|---|
| Открытие запроса | Выберите запись в представлении журнала запросов , чтобы загрузить ее в новый редактор |
| Выполнение запроса | Щелкните правой кнопкой мыши запись и выберите команду "Выполнить запрос" |
| Скопируйте запрос | Щелкните правой кнопкой мыши запись и выберите " Копировать запрос" |
| Удаление записи | Щелкните правой кнопкой мыши запись и выберите пункт "Удалить" |
| Очистить все | Нажмите кнопку "Очистить все журналы запросов " на панели инструментов представления |
| Просмотр в палитре команд | Запуск PGSQL: Open Query History in Command Palette |
Управление записью истории
Используйте панель инструментов представления журнала запросов для запуска или приостановки записи:
- Запуск записи журнала запросов: возобновление записи выполненных запросов.
- Приостановка записи журнала запросов: остановка записи.
Настройте поведение журнала с помощью следующих параметров:
| Setting | Описание | По умолчанию |
|---|---|---|
pgsql.enableQueryHistoryFeature |
Включение функции журнала запросов | true |
pgsql.enableQueryHistoryCapture |
Автоматически записывать выполненные запросы | true |
pgsql.queryHistoryLimit |
Максимальное количество сохраненных записей журнала | 20 |