3 pontos por GN⁺ 2025-05-24 | 1 comentários | Compartilhar no WhatsApp
  • A extensão simplifica a escrita de consultas e o gerenciamento de banco de dados com IntelliSense baseado em IA e o agente ‘@pgsql’ do GitHub Copilot
  • Oferece suporte a segurança integrada e gerenciamento de implantação em nuvem com autenticação Entra ID e integração com o Azure Database for PostgreSQL
  • Foca em aumentar a produtividade e a eficiência dos desenvolvedores com visualização de esquema, gerenciamento de histórico de consultas e IntelliSense contextual
  • Minimiza o custo de onboarding e de alternância entre tarefas com várias conexões de banco de dados, autenticação sem senha e uma UI intuitiva

Introdução

  • A Microsoft anunciou a prévia pública de uma nova extensão PostgreSQL para o Visual Studio Code (VS Code)
  • A extensão foi projetada para facilitar o gerenciamento de bancos de dados PostgreSQL e o fluxo de trabalho dos desenvolvedores em um único ambiente
  • Sem sair do VS Code, os desenvolvedores podem gerenciar objetos do banco de dados, rascunhar consultas e contar com IntelliSense contextual e a ajuda do agente ‘@pgsql’ do GitHub Copilot.

Dificuldades enfrentadas pelos desenvolvedores e como resolver

  • Segundo a pesquisa Stack Overflow Developer Survey 2024, 41% dos desenvolvedores enfrentam dificuldades com alternância de contexto
  • O Stripe Developer Coefficient Report 2024 mostra que até 50% do tempo de desenvolvimento é gasto em depuração e resolução de problemas
  • A ausência de uma ferramenta de extensão que integre o gerenciamento de banco de dados e o desenvolvimento de aplicações contribui para a ineficiência
  • A nova extensão integra ferramentas de banco de dados Postgres e o @pgsql do GitHub Copilot para permitir desenvolvimento, gerenciamento e depuração em um só ambiente
  • Dá suporte a segurança e administração centralizada com autenticação Entra ID e integração estreita com o Azure Database for PostgreSQL

Principais recursos

Visualização de esquema

  • Ao clicar com o botão direito em itens do banco de dados no Object Explorer, é possível visualizar o esquema pela opção 'Visualize Schema'

GitHub Copilot com reconhecimento de banco de dados

  • Fornece suporte de IA com reconhecimento do contexto PostgreSQL dentro do VS Code
  • Simplifica consultas ao banco de dados em linguagem natural, otimização de esquema e execução de SQL
  • Oferece análise e otimização de consultas com IA por meio do comando “@pgsql” e de menus de contexto como “Rewrite Query”, “Explain Query” e “Analyze Query Performance”
  • Durante o desenvolvimento, fornece orientação em tempo real em nível especialista, além de recursos de segurança e melhoria de desempenho

Modo de agente de chat do Copilot

  • O agente de chat inteligente baseado em conversa (@pgsql) vai além de perguntas e respostas e oferece suporte a tarefas em várias etapas
  • Entende o contexto real do workspace e, com permissão, também pode escrever código e depurar
  • Também é possível instruir em linguagem natural tarefas complexas, como criar bancos de dados e ativar extensões
  • Alterações no banco de dados exigem permissão explícita do usuário

Conexão e gerenciamento de banco de dados

  • Conecta-se com facilidade a instâncias PostgreSQL locais e na nuvem
  • Simplifica múltiplos perfis de conexão, parsing de connection strings e configuração de informações de conexão
  • Permite explorar e filtrar diretamente implantações do Azure Database for PostgreSQL
  • Reforça a segurança e o gerenciamento de acesso ao banco com integração com Entra ID

Autenticação sem senha e segurança

  • Oferece autenticação sem senha com Entra ID
    • Não exige login manual e oferece renovação automática de token
    • Minimiza timeout de autenticação e garante continuidade durante o desenvolvimento
    • Compatível com padrões de segurança corporativos
    • Permite usar credenciais Entra ID já existentes
    • Não requer gerenciamento de contas separado

Explorador de banco de dados e histórico de consultas

  • Permite verificar e gerenciar de forma estruturada objetos do banco de dados, como esquemas, tabelas e funções
  • Suporta criação, modificação e exclusão de objetos
  • O gerenciamento do histórico de consultas facilita reaproveitar consultas executadas anteriormente

Edição de consultas e IntelliSense contextual

  • Oferece autocompletar para palavras-chave SQL, nomes de tabelas e nomes de funções, além de syntax highlighting
  • Fornece formatação automática de consultas, gerenciamento de histórico e um ambiente de edição de fácil leitura

Diferenciais e pontos fortes

  • Maior produtividade: IntelliSense contextual, formatação de SQL e outros recursos reduzem tempo de trabalho e erros
  • Suporte inteligente com IA: o agente de chat do Copilot, com reconhecimento de banco de dados/workspace, oferece suporte em múltiplas etapas
  • Onboarding rápido: com o gerenciador de conexões, até iniciantes podem configurar o ambiente em poucos minutos
  • Segurança: controle de acesso centralizado com Entra ID e facilidade para explorar implantações no Azure
  • Conjunto de ferramentas integrado: gerenciamento de objetos do banco, execução de consultas e até implantação de instâncias, tudo dentro do VS Code
  • Compatível com a nuvem: a integração profunda com o Azure Database for PostgreSQL simplifica a operação de bancos de dados em nuvem

Como começar

  • No Extensions Marketplace do VS Code, pesquise por 'PostgreSQL' e instale a Preview PostgreSQL extension (ícone de elefante azul)
  • As extensões GitHub Copilot e Copilot chat são necessárias, e é possível interagir com o Copilot pelo comando "@pgsql"

Feedback e planos futuros

  • É possível enviar opiniões e relatar problemas pela ferramenta de feedback dentro do VS Code
  • A licença padrão de preview será atualizada no futuro
  • Para mais informações e guia de início, consulte https://aka.ms/pg-vscode-docs

1 comentários

 
GN⁺ 2025-05-24
Comentários no Hacker News
  • Parabéns pelo lançamento da equipe. Compartilhando que fui uma das primeiras pessoas a demonstrar isso ao vivo na sessão patrocinada pela Microsoft na semana passada. O vídeo da demonstração pode ser visto aqui. Também houve uma sessão separada no estande da MSFT, mas a gravação ainda não foi publicada. Em vez disso, fica a informação de que existe um repositório aqui onde dá para reproduzir por conta própria todos os recursos que demonstrei. Se surgir algum problema, avisem a equipe aqui

  • Menciona que esta ferramenta também resolve um problema importante que ele já havia resolvido antes com um pacote npm feito por ele mesmo, chamado “pgstrap”. A ferramenta gera a estrutura do banco de dados em formato de diretórios, permitindo que o LLM (modelo de linguagem grande) use o schema do banco e facilitando ver claramente as mudanças nas tabelas durante code review. Ela gera um arquivo SQL para cada tabela do banco e organiza tudo em diretórios por schema. É uma ideia parecida com o schema.rb do Rails. Fica a reflexão sobre se é melhor o editor entender o banco de dados ou fazer commit do contexto no codebase. Com menos código/artefatos gerados, o codebase fica mais limpo. Mas nem todo mundo usa VS Code, e talvez nem saiba aproveitar essa integração. GUI de navegador de banco de dados nunca teve um vencedor absoluto no mercado. Ainda assim, por causa da participação dominante do VS Code, isso pode acabar virando o padrão para consultar banco dentro do ambiente de desenvolvimento. link do pgstrap

    • Questiona se incluir no controle de versão o estado atual do schema do banco e todas as migrações não é, na verdade, um padrão totalmente comum nos frameworks web
    • Avalia como uma ferramenta prática e agradece por compartilhar. Fica a dúvida se ela também exporta triggers, stored procedures e outros elementos além de tabelas/colunas/índices. Aponta que muitas ferramentas param na definição de tabelas. Gostaria que existissem mais ferramentas para aproveitar mais recursos do banco
    • Apresenta uma abordagem de usar um único login read only no meu banco via servidor MCP (e copilot/cline)
  • Primeira impressão de que essa ferramenta parece realmente muito legal. Surpresa por ver a Microsoft investir tanto numa ferramenta para Postgres em vez de SQL Server. A suposição é de que isso mostra que há muita demanda por Postgres

    • Já existe uma extensão de Microsoft SQL Server para VS Code, e a opinião é que essa novidade é basicamente um clone dela. Ao usar, menus, diálogos e o conjunto geral parecem praticamente iguais. Explica que antes o Azure Data Studio (agora descontinuado) era a base dessa extensão. link da extensão SQL Server
    • Do ponto de vista de um evangelista de desenvolvedores da Microsoft, compartilha a experiência de que tanto a equipe da extensão de SQL Server quanto a de PostgreSQL estão colocando um esforço enorme nisso. Ao participar de testes de usabilidade e bug bashes de ambas as equipes, confirmou a paixão delas por criar ferramentas amigáveis para desenvolvedores. Pede que enviem feedback sobre o que for necessário para a equipe. Recomenda seguir Carlos Robles para notícias de SQL Server e Joshua Johnson para notícias de PostgreSQL
    • Acha que isso ocorre porque as ferramentas de MSSQL vinham sendo mantidas continuamente via ADS e tinham alta qualidade. O Azure Data Studio agora está sendo encerrado, e a extensão de Postgres para VS Code não teve commits significativos nos últimos 6 anos. Conta que até então continuava usando ADS porque não havia uma alternativa para Postgres. link de referência
    • Fica a impressão de que o SQL Server Management Studio (SSMS) já não cumpre um papel parecido. Supõe que talvez exista um plano de levar o SSMS para o VS Code no fim das contas. Então talvez estejam experimentando primeiro com suporte a Postgres. link do SSMS
    • Gostaria que existisse uma extensão parecida para SQLite
  • Decide que vai experimentar essa extensão. Diz que começou a carreira com SQL Server e que o SSMS combina perfeitamente com ele. Usa Postgres há quase 10 anos, mas confessa que nunca ficou satisfeito com ferramentas de administração/consulta como pgadmin, dbeaver e datagrip. Acha o próprio Postgres DBMS excelente e o SQL Server também, exceto pelo custo. Mas considera um mistério o fato de a comunidade não reclamar mais do ecossistema de ferramentas para Postgres

    • Pessoalmente, avalia que o Datagrip é de longe a ferramenta de banco de dados genérica mais impressionante que já usou. Já testou várias ferramentas de banco, mas a maioria parece feita por especialistas em banco, e poucas parecem feitas por especialistas em IDE. Fica satisfeito em todos os aspectos: recursos, extensibilidade e ritmo de melhoria. Acha que está em outro patamar em relação a open source como pgadmin e dbeaver. Compartilha que, em trabalhos com Oracle, o Datagrip preservou sua sanidade
    • Diagnostica que quase todos os desenvolvedores SQL, na prática, não ligam tanto para tooling. Em geral, quem projeta o banco/tabelas é outra pessoa, e o desenvolvedor comum se preocupa mais com tabelas/views do que com o banco em si, quase nunca com índices. Quem se interessa por tooling é chamado de “DBA de desenvolvimento”, é muito raro, e por isso é difícil contratar e a rotatividade é alta
  • Diz que uma vantagem clara do JetBrains sobre o VSCode é oferecer ferramentas de banco embutidas e bem polidas

    • Confessa que tenta voltar para o VSCode uma vez por ano, mas sempre acaba preso pelos recursos fortes de integração com git e banco de dados do JetBrains
    • Comenta que também dá para usar só o Datagrip separadamente, e que foi essa a opção escolhida
  • Conta que o Postico sempre foi sua ferramenta padrão para interagir com Postgres. Pergunta se algum usuário de Postico já testou a nova extensão

    • Observa que o Postico é mais voltado para Mac, e acha que o editor de banco embutido no IntelliJ é muito mais rico em recursos
    • Como usuário do Postico há mais de 10 anos, planeja testar essa extensão também. Espera que, ao usar junto com node-pg, o Copilot consiga reconhecer o schema
  • Pergunta qual é atualmente a IDE mais “valiosa” da Microsoft. Compartilha a percepção de que, há alguns anos, o VSCode era divulgado como uma espécie de “Visual Studio para iniciantes”, mas hoje virou a “IDE” mais usada. Já o Visual Studio é visto mais como “legado” (embora ainda seja bom para C++ e .NET)

    • Em alcance entre desenvolvedores, a avaliação é de que o VSCode vence com folga. Mesmo sem grande interesse no ecossistema da MS, muitos desenvolvedores .Net estão migrando para o Rider, e o Visual Studio tende a permanecer em ambientes onde mudar é difícil, como Eclipse/Netbeans. Diz que é usuário de emacs, mas que ao usar SQL Server fora do Windows acaba sendo obrigado a abrir o VSCode
    • Em termos de lucratividade, acha que o Visual Studio gera muito mais. Espera que uma parte considerável dos workflows enterprise e plugins não seja portada para o VSCode. Mas, como porta de entrada para o ecossistema da MS, participação mental entre desenvolvedores e expansão para web IDE, o VSCode leva vantagem. Explica vários pontos fortes e também lamenta as limitações do shell Electron
    • Afirma que é o VSCode de forma esmagadora. Embora seja gratuito, ele funciona como porta de entrada para o ecossistema da MS e ajuda a empresa a continuar relevante no mercado de desenvolvedores
    • Menciona que, na indústria de jogos, o Visual Studio ainda é amplamente usado e até obrigatório ao mirar algumas plataformas. O Rider vem crescendo, mas o VS continua sendo usado como parte do sistema de build
    • Aponta que nunca houve exatamente uma divulgação no sentido de “vire um desenvolvedor de verdade e então passe do VSCode para o Visual Studio”. Explica que Python/HTML/JavaScript já nem rodavam bem no VS, então nem existia de fato esse caminho de migração
  • Pergunta se Microsoft Access e PostgreSQL estão se reencontrando depois de cerca de 30 anos

    • Se deixou passar alguma referência ao Access, pede que avisem. Diz que gostaria de receber recomendações de algo melhor que o DBeaver, se houver
  • Pergunta se existe algo assim também para SQLite. Quer saber se cada banco precisa de uma extensão totalmente nova ou se há partes que poderiam ser compartilhadas

  • Diz que o VSCode até parece bem razoável, mas gostaria que houvesse um jeito fácil de espalhar o próprio VSCode por vários monitores. Hoje usa código em um monitor e a ferramenta de banco em outro monitor com o DataGrip

    • O VSCode já oferece suporte a múltiplos monitores, com documentação oficial
    • Compartilha a experiência de que já é possível separar abas em janelas diferentes e colocá-las em vários monitores no VSCode. Também funciona com terminal. A UI não é muito intuitiva, mas, depois que se aprende, fica bem satisfatório. Dá o exemplo de deixar código e terminal lado a lado (e menciona que no emacs isso já era possível há muito tempo)
    • Diz que descobriu ontem que é possível destacar uma aba para uma nova janela. Não é uma experiência multi-monitor totalmente natural, mas já permite usar em dois monitores, então vale a dica
    • Também sugere resolver isso via hardware, usando um único monitor ultrawide de 38 polegadas