Postgres.new - Postgres no navegador com interface de IA
(supabase.com)- Um sandbox de Postgres executado diretamente no navegador, com suporte de IA
- É possível criar instantaneamente um número ilimitado de bancos de dados Postgres (em breve também será possível implantar no S3)
- Cada banco de dados é emparelhado com um modelo de linguagem de grande porte (LLM), oferecendo vários casos de uso interessantes:
- Criar tabelas arrastando e soltando arquivos CSV
- Gerar e exportar relatórios
- Criar gráficos
- Criar diagramas de banco de dados
- Tudo é feito localmente dentro do navegador
Demo de uso
- Quando você quer consultar e visualizar rapidamente um arquivo CSV
- Quando quer usar o ChatGPT para escrever SQL e testá-lo em um banco de dados real
- Quando quer planejar um novo projeto e deixar o design do banco de dados por conta da IA
Como funciona
- Todas as consultas são executadas dentro do navegador
- Isso é possível graças ao PGlite, uma versão em WASM do Postgres que pode rodar diretamente no navegador
Motivação de desenvolvimento
- Desenvolvimento com IA: reimaginar a interação entre Postgres e IA
- Sandboxing de Postgres: execução rápida e descartável no navegador
- Banco de dados barato: potencial para oferecer muitos bancos de dados a baixo custo
Recursos e funcionamento
Assistente de IA
- O PGlite é emparelhado com o GPT-4o e recebe permissões completas sobre o banco de dados.
- A IA pode executar várias tarefas em sequência, dando uma sensação mais humana.
Importação e exportação de CSV
- Arraste e solte arquivos CSV para criar tabelas automaticamente.
- A IA analisa os cabeçalhos e linhas de amostra do CSV para determinar os tipos de dados.
- Se ocorrer um erro de SQL, a IA tenta corrigi-lo por conta própria.
Gráficos
- Ao adicionar a palavra "chart" à mensagem, a IA executa a consulta apropriada e gera um gráfico.
- Os gráficos são renderizados com Chart.js.
Diagramas ER e migrações
- A IA gera instruções
CREATEeALTERpara criar diagramas ER a partir de um banco de dados real. - Usa uma versão compatível com navegador do postgres-meta para carregar tabelas do PGlite em JavaScript e renderizá-las com uma ferramenta de visualização de schema.
Busca semântica e RAG
- Suporta busca vetorial dentro do navegador usando a extensão pgvector.
- Usa transformers.js para gerar embeddings de texto, armazená-los no PGlite e consultá-los.
Implantação
- Há planos de implantar bancos de dados PGlite no S3 para atender diversos casos de uso com baixo custo.
Análise aprofundada do PGlite
O que é PGlite?
- PGlite é uma build em WASM do Postgres que pode rodar no navegador, Node.js e Bun.
- É ideal para testes unitários, desenvolvimento local, desenvolvimento remoto e outros cenários.
Persistência de dados
- No Node, oferece suporte ao sistema de arquivos nativo; no navegador, IndexedDB e OPFS.
Suporte a extensões
- Dá suporte a extensões úteis como
pgvectorelive.
Visão técnica geral
- Baseia-se no modo de usuário único do Postgres para permitir execução em WASM.
- Diversos recursos do Postgres foram adaptados para funcionar em WASM.
Em breve
- Será possível implantar bancos de dados no S3 e torná-los acessíveis pela internet.
- Também devem ser adicionados suporte a mais formatos de arquivo, compartilhamento de bancos de dados e exportação de bancos de dados.
Open source
- Todo o trabalho é oferecido como open source:
- PGlite (Apache 2.0)
- pg-gateway (MIT)
- postgres-new (Apache 2.0)
- transformers.js
Resumo do GN⁺
- postgres.new é um sandbox de Postgres executado no navegador que simplifica tarefas de banco de dados com suporte de IA.
- Com PGlite, é possível criar bancos de dados de forma rápida e barata, além de aproveitar vários recursos baseados em IA.
- Visualização de dados, geração de diagramas ER e busca semântica são alguns dos recursos que podem torná-lo uma ferramenta útil para desenvolvedores.
- Outros projetos com funcionalidades semelhantes incluem Supabase e ElectricSQL.
3 comentários
Era o supabase mesmo.
PGLite - executando Postgres no navegador
Comentários do Hacker News
Compartilhamento de experiência ao criar 3 bancos de dados usando o postgres.new
Avaliado como uma demonstração técnica que mostra os limites da IA
Ao clicar no botão "New database", nada acontece
Muito impressionante
Opinião de que seria bom poder usar sem recursos de IA
Avaliação de que esta ferramenta ajuda muito no design de bancos de dados
Era cético quanto à combinação de IA/LLM com workflows existentes, mas avaliou que neste caso funciona bem
Como engenheiro da Supabase, comentou que foi divertido desenvolver essa ferramenta junto com a equipe da Electric
Orientação para usar o postgres.new em notebook ou desktop