Projeto pgrust expõe bugs no Postgres e reacende ambição no software
Testes rigorosos do pgrust, criado por Michael Malis, revelam bugs reais no Postgres e mostram que ainda é possível construir software ambicioso, rápido e confiável em meio à onda de projetos fracos gerados por IA.
Tech Desk
Análise do pgrust destaca falhas no Postgres e reforça potencial para softwares robustos e eficientes.
Leia também: Roku lança plataforma com 3 mil canais para personalizar sua TV
O projeto pgrust, criado por Michael Malis, vem usando testes agressivos para encontrar bugs reais em sistemas consolidados como o Postgres e, ao mesmo tempo, provar que ainda é possível construir software ambicioso, rápido e confiável em plena era de projetos descartáveis gerados por IA.
Por que devemos ser mais ambiciosos com o software que construímos?
Para Malis, o momento atual oferece capacidade técnica para ir bem além do padrão de “funciona mais ou menos” que domina muitos projetos. Em conversas recentes, ele tem defendido que, com testes minuciosos e benchmarking sério, é viável criar ferramentas ousadas que não apenas funcionam, mas ajudam a melhorar a infraestrutura sobre a qual rodam.
O pgrust é o exemplo mais direto: ao testar o próprio código, o desenvolvedor acabou encontrando vários bugs em Postgres, um dos bancos de dados mais usados do mundo. Entre os problemas identificados estão falhas numéricas em operações com SP-GiST, um erro no cache de formato que podia levar a resultados incorretos em JSONPath, falhas em pgcrypto, vulnerabilidades de segurança na memória do carregador de dicionários e um bug de overflow em operações com dinheiro.
Esses achados mostram que um projeto pessoal, com foco forte em testes, consegue pressionar softwares gigantes a corrigirem falhas que afetam milhões de usuários. “Se eu estivesse escrevendo, diria ‘podemos ser mais ambiciosos com o software que construímos’ e não ‘devemos'”, afirma Malis. A mensagem é menos um sermão e mais um convite: dá para almejar mais, porque a tecnologia atual permite.
Quais são os benefícios de desenvolver software mais ambicioso?
Os ganhos aparecem em três frentes: qualidade, desempenho e efeito em cadeia sobre outros projetos. No caso do pgrust, mesmo que o projeto em si nunca vire produto pronto para produção, os testes já forçaram melhorias duradouras no Postgres. A correção de bugs numéricos, de resultados inconsistentes em JSONPath e de falhas de segurança em memória reforça a estabilidade de bancos de dados usados em aplicações financeiras, serviços web e sistemas corporativos.
O foco inicial do pgrust, porém, é desempenho. A partir do esforço em otimização, uma parte das técnicas testadas pode migrar para outros bancos, como Clickhouse, ou inspirar melhorias em motores de consulta, indexação e execução de queries em geral. Para empresas e desenvolvedores, isso significa operações mais rápidas, menos consumo de recursos e respostas mais previsíveis sob carga elevada.
Fora do universo dos bancos de dados, Malis cita ganhos concretos em projetos de poucas horas de trabalho: uma regex engine ajustável para superar bibliotecas generalistas em cargas específicas, um fork do ripgrep que usa um compilador nativo acoplado à engine de regex para acelerar buscas em código, e um conjunto de ajustes no fluxo de compilação em Rust que reduz de forma perceptível o tempo de builds, sobretudo os frios.
Entenda o contexto
O contraste é com o cenário atual, dominado por projetos rápidos gerados por IA, benchmarks duvidosos e muito código que se vende como “rápido” ou “revolucionário” sem entregar. O próprio Malis reconhece o ceticismo: boa parte dos reescritos de sistemas famosos vira apenas mais um repositório que nunca chegará a funcionar direito.
Um desenvolvedor que acompanha o trabalho dele resume a percepção de quem olha de fora: “Se eu não conhecesse Malis e não olhasse a fundo, eu assumiria que pgrust é mais um projeto que nunca vai funcionar”, diz um consumidor de software. No caso do pgrust, a diferença está no método: muita verificação automática, comparação consistente de resultados, testes cruzados com implementações existentes e uma disciplina rigorosa em medir, repetir e tentar quebrar o próprio código.
Como a ambição no desenvolvimento de software impacta a inovação?
O impacto aparece tanto na base da infraestrutura digital quanto no fluxo diário de trabalho dos desenvolvedores. Ao apontar bugs em componentes críticos de um banco como Postgres, o pgrust pressiona por correções que reforçam a confiabilidade de toda a cadeia que depende desses dados, de sistemas financeiros a plataformas de conteúdo.
Ao mesmo tempo, os projetos colaterais de Malis mostram como é possível redesenhar gargalos que antes eram aceitos como inevitáveis. A migração do ambiente de desenvolvimento do Mac para Linux, por exemplo, reduziu sensivelmente os overheads de sistema de arquivos e de chamadas de sistema, um problema que tende a piorar em fluxos com modelos de IA cada vez mais rápidos lendo e escrevendo milhares de arquivos pequenos.
Essas escolhas sinalizam um caminho de inovação que não depende apenas de grandes produtos finais, mas de mexidas profundas em peças de infraestrutura: interpretadores de regex, ferramentas de busca em código, compiladores, interfaces de sistema de arquivos. Ao mostrar que ajustes de poucas horas podem gerar ferramentas em nível “funciona para mim” e abrir espaço para lapidação posterior, Malis sugere que o bar para experimentar ficou mais baixo — e o teto do que é possível ficou mais alto.
Desafios e próximos passos
O próprio autor reconhece que transformar essas provas de conceito em produtos prontos exige outra ordem de esforço. A diferença entre um protótipo rápido e um software confiável em produção envolve documentação, compatibilidade, manutenção contínua e um novo ciclo de testes em escala maior. Sem isso, o risco é repetir o padrão de projetos que prometem muito e somem.
Mesmo assim, a reação inicial ao pgrust e às otimizações em torno do projeto indica um espaço crescente para iniciativas que combinem ambição com rigor técnico. À medida que correções e ideias de desempenho vão sendo absorvidas por bases de código maiores, a expectativa é de um efeito multiplicador: mais desenvolvedores dispostos a experimentar reescritas ousadas, mais atenção a testes sérios e menos tolerância a software lento e instável.
Os próximos capítulos devem passar pela consolidação das correções já identificadas em bancos de dados amplamente usados, pela extração das melhores otimizações para outros sistemas e pela adoção mais ampla de práticas de teste e benchmarking que hoje ainda aparecem, em muitos times, como exceção — não como regra.


