A maior e melhor Black Friday que já fizemos! Descontos a partir de 50% em até 12x sem juros - Garanta seu Desconto

PostgreSQL no VS Code: como usar a extensão com Copilot

PostgreSQL no VS Code: como usar a extensão com Copilot

Trabalhar com PostgreSQL no VS Code deixou de exigir uma segunda ferramenta aberta ao lado do editor. A extensão oficial da Microsoft reúne conexão, exploração de objetos, escrita de SQL, planos de execução e integração com o GitHub Copilot no mesmo lugar onde o código da aplicação já vive.

Este artigo parte da série PostgreSQL Like a Pro, publicada pela Microsoft em outubro de 2026, e aprofunda cada etapa com base na documentação oficial. Ao final, você saberá conectar, consultar, entender um banco herdado e investigar problemas de performance sem sair do editor.

O que é a extensão PostgreSQL no VS Code

A extensão se chama PostgreSQL, tem o identificador ms-ossdata.vscode-pgsql e é publicada pela própria Microsoft. Ela entrou em preview público em maio de 2025 e chegou à disponibilidade geral em novembro de 2025.

Na prática, ela transforma o VS Code em uma IDE completa para PostgreSQL. Você conecta servidores locais, on-premises ou na nuvem, navega pelos objetos, escreve consultas com IntelliSense e visualiza planos e esquemas.

Além disso, a extensão funciona no Windows, no macOS e no Linux. Ela também roda no Cursor, embora alguns recursos de IA mudem de nome ou de entrada nesse editor.

O ponto central é reduzir a troca de contexto.

Antes, conferir uma tabela significava abrir o pgAdmin ou o terminal, encontrar a informação e voltar para o código. Agora, o PostgreSQL no VS Code fica a um clique da aplicação.

Fluxo de trabalho do PostgreSQL no VS Code em quatro etapas: conectar, escrever SQL, entender o esquema e investigar performance
As quatro etapas do fluxo que a extensão cobre dentro do editor.

Como conectar o PostgreSQL no VS Code

Antes de escrever qualquer consulta, você precisa saber o que existe no banco. Por isso, o primeiro passo é instalar a extensão e criar uma conexão.

Abra a visão de extensões com Ctrl+Shift+X, pesquise por postgresql e instale a extensão publicada pela Microsoft. Em seguida, um ícone de elefante aparece na Activity Bar e abre a visão do PostgreSQL.

Caso você ainda não tenha um servidor, a própria extensão consegue criar um PostgreSQL local em um container Docker. Ela também provisiona um Azure Database for PostgreSQL flexible server por meio de um assistente guiado.

Perfis de conexão e Microsoft Entra ID

Para conectar o PostgreSQL no VS Code, o diálogo de conexão oferece três modos de entrada. Nele, o modo Parameters pede host, porta, banco e usuário separadamente, enquanto o modo Connection String aceita a string completa.

O terceiro modo, Browse Azure, lista suas assinaturas, grupos de recursos e servidores. Assim, você escolhe o banco sem copiar endereço nenhum do portal.

Quanto à autenticação, a extensão aceita senha, Microsoft Entra ID e AWS IAM para RDS e Aurora. Quando você salva a senha, a extensão a guarda no gerenciador de credenciais do sistema operacional, nunca em texto puro nos arquivos de configuração.

Os perfis salvos aparecem na lista de conexões para reuso. Também é possível organizá-los em grupos com cores, o que ajuda a separar desenvolvimento, homologação e produção de forma visual.

Explorando objetos com o Object Explorer

Depois de conectar o PostgreSQL ao VS Code, expanda o servidor, o banco e os esquemas no Object Explorer. Ali aparecem tabelas, views, funções, sequências, tipos, extensões e roles.

A recomendação da Microsoft é simples: comece por uma única tabela que a sua aplicação usa. Você não precisa entender o banco inteiro para dar o próximo passo.

Além disso, o explorador tem uma busca por nome e gera scripts com o botão direito. Com isso, um SELECT, um CREATE ou um ALTER de qualquer objeto abre direto no editor de consultas.

Escrevendo SQL com o PostgreSQL no VS Code

Você já sabe o que a aplicação precisa. Agora, falta uma consulta que devolva os dados certos e que você consiga explicar para outra pessoa do time.

O editor de consultas do PostgreSQL no VS Code traz IntelliSense com sugestões de palavras-chave, nomes de tabelas, colunas, funções e cláusulas de join. Ele também oferece snippets, histórico de consultas e execução do arquivo inteiro ou apenas da instrução sob o cursor.

Os resultados aparecem em um painel abaixo do editor. Nesse painel, você ordena, filtra, exporta para CSV, JSON ou Excel e ainda transforma o resultado em gráfico de linha, barra, pizza ou dispersão.

Um exemplo: receita por cliente no trimestre

O artigo original propõe um cenário bem comum: descobrir quais clientes geraram mais receita em um trimestre. Para isso, você junta clientes e pagamentos, filtra por data, agrupa e ordena.

-- Primeira versão: junta tudo e agrega depois
SELECT c.customer_id,
       c.first_name,
       c.last_name,
       SUM(p.amount) AS total_revenue
FROM customers AS c
JOIN payments AS p ON p.customer_id = c.customer_id
WHERE p.payment_date >= DATE '2026-07-01'
  AND p.payment_date <  DATE '2026-10-01'
GROUP BY c.customer_id, c.first_name, c.last_name
ORDER BY total_revenue DESC
LIMIT 10;

Essa consulta funciona e é fácil de ler. No entanto, em tabelas grandes, o join acontece antes da agregação, e o banco pode processar muito mais linhas do que o necessário.

Uma reescrita possível agrega os pagamentos primeiro e só depois junta com os clientes. O texto da Microsoft faz questão de dizer que isso é uma hipótese a investigar, não uma regra para aplicar em todo lugar.

-- Segunda versão: agrega os pagamentos antes do join
WITH quarter_revenue AS (
    SELECT customer_id,
           SUM(amount) AS total_revenue
    FROM payments
    WHERE payment_date >= DATE '2026-07-01'
      AND payment_date <  DATE '2026-10-01'
    GROUP BY customer_id
)
SELECT c.customer_id,
       c.first_name,
       c.last_name,
       qr.total_revenue
FROM quarter_revenue AS qr
JOIN customers AS c ON c.customer_id = qr.customer_id
ORDER BY qr.total_revenue DESC
LIMIT 10;

Por fim, a regra mais importante dessa etapa: confira os resultados, e não só o tempo de execução. Uma consulta mais rápida ainda precisa responder à pergunta certa, então compare as duas saídas linha a linha antes de trocar uma pela outra.

Lendo o plano de execução do PostgreSQL no VS Code

Para comparar as duas versões com dados, use o Query Plan Visualizer do PostgreSQL no VS Code. Selecione a consulta e clique em Visualize Query Plan na barra do editor.

Em seguida, a extensão pergunta o formato e as opções do EXPLAIN. JSON funciona melhor nas visões gráficas, enquanto ANALYZE, BUFFERS e TIMING acrescentam números reais de execução.

Atenção, porém: ANALYZE executa a consulta de verdade. Por isso, a extensão pede confirmação antes de rodar um INSERT, UPDATE, DELETE ou TRUNCATE nesse modo.

O visualizador oferece quatro visões. A Tree View desenha os nós, a Table View permite ordenar e buscar, a Icicle View mostra onde o custo se concentra e a Source View guarda a saída original.

Uma dica da documentação ajuda muito na leitura: compare as linhas estimadas com as linhas reais em cada nó. Quando os dois números divergem bastante, as estatísticas da tabela costumam estar desatualizadas.

Copilot e o PostgreSQL no VS Code

A integração com IA é o que mais diferencia essa extensão de um cliente SQL tradicional. Ela aparece em três superfícies, cada uma com um propósito diferente.

A primeira é o participante @pgsql no Copilot Chat, que só existe no VS Code e conversa com o PostgreSQL conectado. Ele responde perguntas usando o contexto vivo do banco, como tabelas, colunas e relacionamentos.

A segunda são as AI Query Actions, um submenu no clique direito do editor. Ali ficam Explain Query, Rewrite Query e Analyze Query Performance, que trabalham sobre o SQL selecionado.

A terceira é o Agent mode. Você clica com o botão direito no banco, escolhe Connect AI e o agente passa a encadear ferramentas: conecta, inspeciona o esquema, roda consultas de leitura e abre scripts para revisão.

Além disso, a extensão registra um servidor MCP com essas mesmas ferramentas. Assim, outros hosts compatíveis também conseguem consultar suas conexões de forma programática.

Modos de acesso: leitura ou escrita

Dentro do PostgreSQL no VS Code, a configuração pgsql.copilot.accessMode define quanto poder o agente tem. No modo ro, ele só executa operações de leitura como SELECT, SHOW e EXPLAIN.

No modo rw, o agente também roda DML e DDL, sempre com confirmação explícita antes de executar. A documentação recomenda o ro para produção e ambientes compartilhados.

Essa separação importa porque o Copilot consegue, sim, alterar dados e esquemas. Portanto, revise todo SQL gerado antes de aprovar, e prefira testá-lo primeiro em um ambiente descartável.

Para enviar um plano já capturado ao Copilot, use o botão Analyze with Copilot no visualizador. A configuração pgsql.copilot.autoAttachQuery controla se o texto da consulta vai junto, e você pode escolher perguntar sempre, enviar sempre ou nunca enviar.

Entendendo um banco herdado com o PostgreSQL no VS Code

Qual tabela guarda o dado que você precisa e como ela se conecta ao resto da aplicação? Essas costumam ser as primeiras perguntas de quem herda um projeto.

A sugestão da Microsoft é começar amplo no Object Explorer. Procure nomes de esquemas, padrões de nomenclatura e tabelas ou views que combinem com a funcionalidade em que você está trabalhando.

Depois, abra o Schema Visualizer do PostgreSQL no VS Code clicando com o botão direito no banco e escolhendo Visualize Schema. Ele desenha cada tabela como um nó, lista colunas e tipos e liga as chaves estrangeiras com linhas.

Quando o banco tem muitos esquemas, a legenda atribui uma cor a cada um e permite esconder os que não interessam. Também existe a opção de abrir o visualizador direto em um esquema específico, o que evita um diagrama ilegível logo de cara.

Vale lembrar duas limitações. O visualizador mostra apenas tabelas e chaves estrangeiras, e ele não se atualiza sozinho depois de uma mudança, então use o botão Refresh.

Perguntas focadas ao Copilot

Com o contexto do PostgreSQL disponível no chat do VS Code, faça perguntas pequenas e objetivas. Em uma aplicação de locadora de filmes, por exemplo, três boas perguntas seriam: quais tabelas guardam atores e filmes, como elas se ligam e onde fica o status da locação.

Trate a resposta como ponto de partida, e não como mapa verificado. Em seguida, confira os objetos na árvore, revise as ligações no visualizador e rode uma consulta pequena de leitura para confirmar o caminho dos dados.

-- Confirma o caminho entre filme, cópia em estoque e locação
SELECT f.title,
       r.rental_date,
       r.return_date
FROM rentals AS r
JOIN inventory AS i ON i.inventory_id = r.inventory_id
JOIN films AS f ON f.film_id = i.film_id
ORDER BY r.rental_date DESC
LIMIT 5;

O conselho final da seção original resume bem a postura: faça uma pergunta de descoberta, valide contra o banco e só então faça a próxima. Dessa forma, um erro do modelo não contamina as etapas seguintes.

Investigando performance no PostgreSQL no VS Code

Quedas de conexão e latência crescente avisam que algo vai mal. Descobrir o motivo, porém, costuma exigir logs, métricas e uma linha do tempo montada à mão.

Antes de mudar qualquer coisa, a Microsoft sugere montar uma cadeia de evidências. Ela responde a quatro perguntas: o que mudou, quando mudou, qual carga de trabalho está envolvida e por que uma ação específica deveria ajudar.

Cadeia de evidências para investigar performance no PostgreSQL no VS Code, do sintoma à decisão com plano de reversão
Do sintoma à decisão: cada mudança precisa de evidência, resultado esperado e plano de reversão.

Para os servidores no Azure, o Server Dashboard do PostgreSQL no VS Code ajuda a montar essa cadeia. Ele mostra CPU, memória, armazenamento, conexões e IOPS, além das abas Queries, Waits e Sessions com as consultas mais caras, os eventos de espera e os bloqueios.

Cada painel do dashboard tem um botão Ask Copilot. Com isso, você abre uma conversa já com aquele contexto em vez de copiar números para o chat.

Do índice recomendado à decisão revisada

O exemplo do artigo original envolve consultas repetidas de histórico de clientes em uma tabela grande de transações. Esse padrão pode levar a uma recomendação de índice composto.

No PostgreSQL no VS Code, o próximo passo, no entanto, não é simplesmente criar o índice. Primeiro, revise as métricas que sustentam a recomendação, o resultado esperado e o caminho de reversão.

-- Índice composto para buscas de histórico por cliente
CREATE INDEX CONCURRENTLY ix_transactions_customer_id_created_at
    ON transactions (customer_id, created_at DESC);

-- Plano de reversão, caso o resultado não seja o esperado
DROP INDEX CONCURRENTLY ix_transactions_customer_id_created_at;

O uso de CONCURRENTLY evita bloquear escritas na tabela durante a criação. Inclusive, é o mesmo padrão que o ajuste autônomo do Azure Database for PostgreSQL usa nos scripts que recomenda.

Database Agent e o que ainda está por vir

O Database Agent reúne essas peças na experiência do Azure PostgreSQL exibida no VS Code, ao lado do restante da extensão. Ele relaciona sintomas, métricas e recomendações em um só lugar.

Contudo, o vídeo da série o apresenta como uma experiência ainda por chegar, com ações aplicadas manualmente. A remediação automática aparece como capacidade futura, então confira a disponibilidade e os requisitos do Azure antes de contar com ela.

Enquanto isso, a pergunta de controle continua valendo para qualquer mudança: você consegue explicar por que ela deve ajudar, como vai medir o resultado e o que fará se não funcionar?

Boas práticas de IA para o PostgreSQL no VS Code

As quatro etapas do artigo compartilham uma mesma disciplina. Por isso, vale reunir as recomendações em uma lista curta.

Situação Prática recomendada
Banco de produção ou compartilhado Agent mode em ro
SQL gerado pelo Copilot Revisar antes de executar e testar em ambiente descartável
Reescrita de consulta Comparar resultados, não só o plano
Resposta sobre o esquema Validar no Object Explorer e no visualizador
Recomendação de índice Revisar métricas, resultado esperado e reversão

Para quem desenvolve em .NET, o PostgreSQL no VS Code combina bem com o Entity Framework Core. Você gera as migrations no projeto e confere o resultado no banco sem trocar de janela, como no artigo Migrations com EF Core, .NET e PostgreSQL.

A Microsoft também mantém um repositório de exemplos da série em aka.ms/pg-pro-vs-code-repo. A documentação completa da extensão fica no Microsoft Learn.

Conclusão

O PostgreSQL no VS Code cobre o ciclo inteiro de trabalho com banco de dados dentro do editor. Você conecta, explora, escreve SQL, lê planos e investiga performance sem alternar entre ferramentas.

O Copilot acelera cada etapa, mas a tese da série é clara: a IA propõe e você verifica. Resultados conferidos, esquemas validados e mudanças com plano de reversão continuam sendo responsabilidade de quem desenvolve.

Para começar a usar o PostgreSQL no VS Code, siga o roteiro sugerido pela própria Microsoft. Explore uma tabela que a sua aplicação usa, escreva uma consulta de leitura e confirme que o resultado responde exatamente ao que você precisa.

FAQ

A extensão PostgreSQL para VS Code é gratuita?

Sim, a extensão é gratuita no Visual Studio Marketplace. Os recursos de IA, porém, exigem uma assinatura ativa do GitHub Copilot.

Preciso usar Azure para aproveitar a extensão?

Não, ela conecta a servidores locais, on-premises, em Docker ou em outras nuvens. Recursos como Browse Azure, métricas do dashboard e gestão do servidor são exclusivos do Azure.

O Copilot pode alterar dados do meu banco?

Pode, quando o modo de acesso está em rw, sempre com confirmação antes de executar. Em produção, mantenha o modo ro.

O participante @pgsql funciona no Cursor?

Não, o @pgsql existe apenas no VS Code. No Cursor, use o Connect AI para abrir o Agent mode ou o servidor MCP da extensão.

A extensão substitui o pgAdmin?

Para o dia a dia de desenvolvimento, ela cobre conexão, consultas, planos e esquemas. Tarefas administrativas específicas ainda podem pedir outras ferramentas.