17 pontos por GN⁺ 2023-08-07 | 2 comentários | Compartilhar no WhatsApp
  • Apresentação do Postgres Language Server, uma ferramenta atualmente em desenvolvimento ativo, projetada para melhorar a experiência de desenvolvedores com Postgres
  • O Language Server Protocol é um protocolo aberto que fornece ferramentas de inteligência de código, como autocompletar e destaque de sintaxe, e o Postgres Language Server implementa esse protocolo de forma especializada para Postgres
  • O servidor oferece recursos como destaque semântico, diagnóstico de erros de sintaxe, exibição de comentários SQL, autocompletar, execução de código e configuração de formatação de código
  • A motivação do projeto foi o suporte limitado a PL/pgSQL nos IDEs e editores existentes, além das limitações dos SQL Language Servers genéricos ao lidar com a sintaxe complexa do PostgreSQL
  • O Postgres Language Server usa libpg_query para aproveitar o código-fonte do PostgreSQL e fazer o parsing confiável de código SQL. Embora essa abordagem possa ser pouco convencional, ela é a única forma confiável de analisar todas as consultas PostgreSQL válidas
  • Quando o parser estiver estabilizado e um modelo de dados robusto for implementado, o language server fornecerá funcionalidades básicas e atuará como interface de usuário para ferramentas de todo o ecossistema Postgres
  • O roadmap inclui concluir o parser, implementar um modelo de dados robusto, configurar adequadamente o language server, implementar funcionalidades básicas, integrar ferramentas open source existentes e desenvolver as partes que faltam
  • O projeto ainda não está pronto para uso em produção e está procurando colaboradores para o desenvolvimento
  • O servidor pode ser instalado usando Cargo, Node e npm. Para usuários do VS Code, tanto o servidor quanto a extensão cliente podem ser instalados executando comandos específicos

2 comentários

 
GN⁺ 2023-08-07
Comentários do Hacker News
  • O servidor de linguagem para Postgres é uma nova ferramenta que está gerando empolgação entre pessoas com forte domínio técnico.
  • O autor original do libpg_query recebe reconhecimento pelos componentes centrais deste servidor, e destaca-se que o ecossistema de bibliotecas baseado na biblioteca central em C continua saudável.
  • Os usuários expressam expectativa quanto a possíveis melhorias nas ferramentas de SQL/banco de dados, especialmente na formatação de plpgsql.
  • Surgem dúvidas sobre a capacidade do servidor de alternar automaticamente o "contexto LSP" e se ele oferece suporte a extensões como o PostGIS.
  • O potencial do servidor para melhorar a experiência do desenvolvedor com Postgres é elogiado, com empresas como a Omnigres usando o libpg_query para manipulação programática de consultas.
  • Alguns usuários querem saber se o servidor se conecta a um banco de dados real para buscar listas de tabelas, colunas etc., ou se apenas analisa texto bruto sem informações de dicionário de dados.
  • Há perguntas sobre a possibilidade de usar o servidor em IDEs como JetBrains ou VSCode, e se existem oportunidades para desenvolvedores experientes contribuírem com o projeto.
  • O fato de o servidor estar focado "apenas no Postgres" é visto com bons olhos pelos usuários.
  • Os usuários aguardam com expectativa a evolução do servidor, e alguns esperam uma experiência de IDE melhor para o site SQLPage.
  • A criação do servidor é vista como um avanço há muito esperado para tornar mais fácil escrever SQL em IDEs.