Editor de consultas e IntelliSense

A extensão postgreSQL para Visual Studio Code fornece um editor de consultas com conclusões do IntelliSense, execução de consulta controlada por teclado, uma grade de resultados com opções de exportação e snippets de código internos. Você escreve SQL em uma guia do editor padrão do VS Code e o executa em qualquer servidor PostgreSQL conectado sem sair do IDE.

Pré-requisitos

Abrir um editor de consultas

Você pode abrir um novo editor de consultas de várias maneiras:

  • Na árvore Conexões , clique com o botão direito do mouse em um nó de banco de dados e selecione Nova Consulta.
  • Execute PGSQL: New Query na paleta de comandos (Ctrl+Shift+P).
  • Abra ou crie qualquer arquivo com uma .sql extensão.

O editor de consultas usa o editor de texto do VS Code com o modo de linguagem SQL. Quando você conecta o editor a um servidor, a extensão ativa o IntelliSense e habilita comandos de execução de consulta.

Conectar e desconectar

Para associar um editor de consultas a uma conexão de banco de dados:

Ação Windows/Linux macOS
Connect Ctrl+Shift+C Cmd+Shift+C
Desligar Ctrl+Shift+D Cmd+Shift+D

Você também pode executar PGSQL: Connect ou PGSQL: Disconnect na Paleta de Comandos.

Alterar o contexto do banco de dados

O banco de dados ativo para execução de consulta aparece na barra de status do VS Code. Para alternar para um banco de dados diferente:

  1. Selecione o nome do banco de dados na barra de status ou execute PGSQL: Change PostgreSQL Database na Paleta de Comandos.
  2. Selecione o banco de dados de destino no seletor.

O novo contexto de banco de dados se aplica a todas as execuções de consulta subsequentes nesse editor.

Painel de status da conexão

Quando pgsql.showConnectionStatusLens é true (o padrão), o editor exibe uma lente de código na parte superior do arquivo que mostra o status da conexão atual. Selecione a lente para se conectar ou alterar bancos de dados.

IntelliSense

O IntelliSense fornece preenchimentos automáticos com reconhecimento de contexto à medida que você digita SQL no editor de consultas. A extensão analisa seu esquema de banco de dados conectado para sugerir tabelas, colunas, funções e palavras-chave.

O IntelliSense é ativado automaticamente conforme você digita ou você pode acioná-lo manualmente com Ctrl+Space (Cmd+Space no macOS). Os seguintes tipos de conclusão estão disponíveis:

Tipo de conclusão Description
Keyword Palavras-chave SQL, comoSELECT, , FROMWHERE
Tabela / Visualização Tabelas e visões no banco de dados atual
Coluna Colunas para tabelas referenciadas na consulta
Function Funções internas e definidas pelo usuário
Schema Esquemas disponíveis no banco de dados
Sugestão de junção JOIN cláusulas baseadas em relações de chave estrangeira

Quando você digita JOIN após uma referência de tabela, o IntelliSense sugere tabelas relacionadas e preenche a condição de junção com base em relações de chave estrangeira.

Configurar IntelliSense

Habilite ou desabilite o IntelliSense com a pgsql.intelliSense.enableIntelliSense configuração. O IntelliSense está habilitado por padrão.

Atualizar o cache do IntelliSense

Se você alterar seu esquema de banco de dados (por exemplo, adicionando tabelas ou colunas) e o IntelliSense não refletir essas alterações, atualize o cache:

  1. Abra a paleta de comandos (Ctrl+Shift+P).
  2. Execute PGSQL: Refresh IntelliSense Cache.

Use esse comando após migrações de esquema, alterações de DDL ou alterações feitas fora da sessão atual do editor.

Executar consultas

A extensão fornece várias maneiras de executar consultas SQL em seu banco de dados conectado.

Executar uma consulta

Use Executar consulta PostgreSQL para executar SQL no editor. Se você selecionar um texto específico, somente o texto selecionado será executado. Se nada for selecionado, todo o conteúdo do editor será executado.

Ação Windows/Linux macOS
Executar consulta PostgreSQL Ctrl+Shift+E ou Shift+Enter Cmd+Shift+E ou Shift+Enter
Executar a instrução PostgreSQL atual Ctrl+Shift+Enter Ctrl+Shift+Enter

Executar a Instrução PostgreSQL Atual executa apenas a instrução SQL na posição atual do cursor. Use esse comando quando você tiver várias instruções no editor e quiser executar uma sem selecioná-la.

Cancelar uma consulta

Para interromper uma consulta de execução longa, execute PGSQL: Cancel PostgreSQL Query na Paleta de Comandos. A barra de status mostra o progresso da execução enquanto uma consulta está em execução.

Painel resultados da consulta PostgreSQL

Depois de executar uma consulta, os resultados aparecem no painel Resultados da Consulta PostgreSQL abaixo do editor. O painel tem até três guias, dependendo do tipo de consulta.

Aba Resultados

A aba Resultados exibe a grade de resultados. Quando uma consulta retorna vários conjuntos de resultados, cada conjunto aparece em sua própria grade dentro da guia.

A grade de resultados fornece estes recursos para explorar dados:

  • Classificar: clique com o botão direito do mouse em um cabeçalho de coluna e selecione Classificar Crescente ou Classificar Decrescente. Selecione Limpar Classificação para remover a classificação.
  • Filtro: clique com o botão direito do mouse em um cabeçalho de coluna e selecione Mostrar Filtro para restringir as linhas exibidas.
  • Redimensionar colunas: arraste bordas de coluna para ajustar a largura ou habilite pgsql.resultsGrid.autoSizeColumns (ativado por padrão) para colunas de tamanho automático com base no conteúdo visível.
  • Numeração de linhas: os números das linhas aparecem à esquerda da grade.
  • Pesquisa: use o campo de pesquisa na barra de ferramentas de resultados para localizar valores na grade.

Consultas unidas e conjuntos de resultados mais amplos usam a mesma experiência de grade, para que você possa classificar, filtrar e verificar colunas relacionadas sem sair do editor.

Copiar dados

Clique com o botão direito do mouse na grade de resultados para acessar as opções de cópia:

Opção Description
Selecionar Tudo Selecionar todas as linhas no conjunto de resultados
Copy Copiar células selecionadas para a área de transferência
Copiar com cabeçalhos Copiar células selecionadas com cabeçalhos de coluna
Copiar Cabeçalhos Copiar somente os cabeçalhos de coluna

Você também pode usar esses atalhos de teclado do painel de resultados (configuráveis por meio da pgsql.shortcuts configuração):

Ação Atalho padrão
Copiar seleção Ctrl+C
Selecionar tudo Ctrl+A
Alternar painel de resultados Ctrl+Alt+R
Alternar painel de mensagens Ctrl+Alt+Y
Grade de resultados em foco Ctrl+Alt+G
Grade de resultados anterior Ctrl+Seta para cima
Próxima grade de resultados Ctrl+Seta para baixo

Dica

Defina pgsql.copyIncludeHeaders como true para incluir cabeçalhos de coluna sempre que você copiar. Definido pgsql.copyRemoveNewLine para false preservar caracteres de nova linha em células copiadas.

Salvar resultados

Exporte os resultados da consulta selecionando um botão Salvar na barra de ferramentas de resultados:

Botão Formato
Salvar como CSV Valores Separados por Vírgulas (.csv)
Salvar como JSON Notação de objeto JavaScript (.json)
Salvar como Excel Microsoft Excel pasta de trabalho (.xlsx)

Personalize o comportamento de exportação de CSV com estas configurações:

Configuração Description Default
pgsql.saveAsCsv.delimiter Caractere delimitador de coluna ,
pgsql.saveAsCsv.lineSeparator Separador de linha Padrão do sistema
pgsql.saveAsCsv.textIdentifier Caractere para incluir campos de texto "
pgsql.saveAsCsv.encoding Codificação de arquivo utf-8
pgsql.saveAsCsv.includeHeaders Incluir cabeçalhos de coluna true

Abrir resultados em uma guia separada

Para conjuntos de resultados grandes, abra os resultados em uma guia de editor dedicado para obter mais espaço. Selecione Abrir em Nova Guia na barra de ferramentas de resultados ou defina pgsql.openQueryResultsInTabByDefaulttrue em suas configurações para sempre abrir resultados em uma guia separada.

Aba Mensagens

A guia Mensagens mostra informações de execução de consulta, incluindo mensagens de status, contagens de linhas e tempo de execução. Cada mensagem inclui um registro de data e hora.

O painel de mensagens é aberto por padrão ao lado da grade de resultados. Para alterar esse comportamento, defina pgsql.messagesDefaultOpen como false.

Dica

Defina pgsql.showBatchTime como true para exibir o tempo de execução de lotes individuais.

Aba Plano de Consulta

Quando você executa uma consulta EXPLAIN ou EXPLAIN ANALYZE, uma guia Plano de Consulta aparece ao lado de Resultados e Mensagens. Selecione esta guia para abrir o visualizador interno do plano de execução ou selecione o botão Visualizar Plano de Consulta na barra de ferramentas do painel Resultados da Consulta PostgreSQL.

Você também pode executar o PostgreSQL (Visualize Query Plan) na Paleta de Comandos para visualizar o plano para a consulta atual.

Para obter informações detalhadas sobre o visualizador do plano de execução, consulte o visualizador do plano de consulta.

Exibição de grafo para consultas do Apache AGE

Quando uma consulta retorna resultados orientados por grafo do Apache AGE, a extensão detecta chamadas de função cypher() e padrões do Apache AGE (agtype, ag_catalog) e abre o lote de resultados em uma visualização em grafo em vez da grade padrão.

  • Alternar exibições: selecione Alternar para Gráfico na barra de ferramentas de resultados para alternar da grade para o modo de exibição de gráfico ou Alternar para a Tabela para retornar à grade.
  • Inspecione os elementos: selecione nós ou bordas no grafo para exibir seus rótulos e propriedades no painel Propriedades .
  • Navegue: use os botões da barra de ferramentas do grafo: Ampliar, Reduzir, Ampliar para Ajustar e Redefinir.
  • Exportação: selecione Salvar como PNG na barra de ferramentas do grafo para exportar o grafo como uma imagem.

Note

Se a consulta não retornar dados grafáveis, a extensão manterá a exibição de grade padrão.

Trechos de código

A extensão inclui snippets de código postgreSQL internos que ajudam você a estruturar padrões comuns de SQL. Digite um prefixo de snippet no editor e pressione Tab para expandir o snippet. Pressione Tab para percorrer os marcadores dentro do trecho de código expandido e preencher os valores.

Trechos disponíveis

prefixo Description
pgCreateTable Criar uma tabela básica com uma chave primária
pgDropDatabase Remover um banco de dados PostgreSQL existente
pgDropTable Remover uma tabela
pgInsertData Inserir uma linha em uma tabela
pgSelectAll Consulta simples SELECT *
pgUpdateRows Atualizar dados em uma tabela
pgDeleteRows Excluir dados de uma tabela
pgCreateIndex Criar um índice em uma coluna especificada
pgCreateUser Criar uma nova função ou usuário
pgGrantPrivileges Conceder privilégios em uma tabela a um usuário
pgCTE Exemplo de expressão de tabela comum (CTE)
pgLeftJoin LEFT JOIN exemplo de consulta
pgExplainAnalyze EXPLAIN ANALYZE consulta para obter detalhes de desempenho
pgListTables Listar todas as tabelas em um esquema específico

Dica

Digite pg no editor e navegue pelas sugestões do IntelliSense para ver todos os trechos de código disponíveis.

Histórico de consultas

O modo de exibição Histórico de Consultas no painel da Barra de Atividades do PostgreSQL captura automaticamente as consultas executadas, para que você possa revisitá-las e reutilizá-las mais tarde.

Gerenciar histórico de consultas

Ação Como fazer
Abrir uma consulta Selecione uma entrada no modo de exibição Histórico de Consultas para carregá-la em um novo editor
Executar uma consulta Clique com o botão direito do mouse em uma entrada e selecione Executar Consulta
Copiar uma consulta Clique com o botão direito do mouse em uma entrada e selecione Copiar Consulta
Excluir uma entrada Clique com o botão direito do mouse em uma entrada e selecione Excluir
Limpar tudo Selecione o botão Limpar Todo o Histórico de Consultas na barra de ferramentas de exibição
Navegar na Paleta de Comandos Execute PGSQL: Open Query History in Command Palette

Captura de histórico de controle

Use a barra de ferramentas da visualização Histórico de Consultas para iniciar ou pausar a captura:

  • Iniciar a Captura de Histórico de Consultas: retomar a gravação de consultas executadas.
  • Pausar a Captura de Histórico de Consultas: interromper a gravação.

Configure o comportamento do histórico com estas configurações:

Configuração Description Default
pgsql.enableQueryHistoryFeature Habilitar o recurso Histórico de Consultas true
pgsql.enableQueryHistoryCapture Capturar automaticamente consultas executadas true
pgsql.queryHistoryLimit Número máximo de entradas de histórico armazenado 20