Postgres.new - Postgres en el navegador con interfaz de IA
(supabase.com)- Un sandbox de Postgres que se ejecuta directamente en el navegador y ofrece soporte de IA
- Permite crear al instante una cantidad ilimitada de bases de datos Postgres (pronto también se podrán desplegar en S3)
- Cada base de datos se empareja con un modelo de lenguaje grande (LLM) para ofrecer varios casos de uso interesantes:
- Crear tablas arrastrando y soltando archivos CSV
- Generar y exportar informes
- Crear gráficos
- Elaborar diagramas de base de datos
- Todo se realiza localmente dentro del navegador
Demo de uso
- Cuando quieres consultar y visualizar rápidamente archivos CSV
- Cuando quieres usar ChatGPT para escribir SQL y probarlo en una base de datos real
- Cuando quieres planear un proyecto nuevo y dejar el diseño de la base de datos en manos de la IA
Cómo funciona
- Todas las consultas se ejecutan dentro del navegador
- Esto es posible gracias a PGlite, una versión WASM de Postgres que puede ejecutarse directamente en el navegador
Motivación de desarrollo
- Desarrollo impulsado por IA: replantea la interacción entre Postgres y la IA
- Sandboxing de Postgres: ejecución rápida y efímera en el navegador
- Bases de datos de bajo costo: potencial para ofrecer muchas bases de datos a un costo reducido
Funciones y funcionamiento
Asistente de IA
- Empareja PGlite con GPT-4o para darle control total sobre la base de datos.
- La IA puede realizar varias tareas de forma consecutiva, lo que le da una sensación más humana.
Importación y exportación de CSV
- Crea tablas automáticamente al arrastrar y soltar archivos CSV.
- La IA analiza los encabezados y filas de muestra del CSV para determinar los tipos de datos.
- Si ocurre un error SQL, la IA intenta corregirlo por sí sola.
Gráficos
- Si agregas la palabra "chart" en el mensaje, la IA ejecuta la consulta adecuada y genera un gráfico.
- Usa Chart.js para renderizar los gráficos.
Diagramas ER y migraciones
- La IA genera sentencias
CREATEyALTERpara crear diagramas ER a partir de una base de datos real. - Usa una versión compatible con navegador de postgres-meta para cargar tablas de PGlite en JavaScript y renderizarlas con una herramienta de visualización de esquemas.
Búsqueda semántica y RAG
- Soporta búsqueda vectorial dentro del navegador mediante la extensión pgvector.
- Usa Transformers.js para generar embeddings de texto y almacenarlos y consultarlos en PGlite.
Despliegue
- Planea desplegar bases de datos PGlite en S3 para soportar diversos casos de uso a bajo costo.
Análisis a fondo de PGlite
¿Qué es PGlite?
- PGlite es una compilación WASM de Postgres que puede ejecutarse en el navegador, Node.js y Bun.
- Es ideal para pruebas unitarias, desarrollo local y desarrollo remoto.
Persistencia de datos
- En Node soporta el sistema de archivos nativo; en el navegador, IndexedDB y OPFS.
Soporte de extensiones
- Soporta extensiones útiles como
pgvectorylive.
Resumen técnico
- Se basa en el modo de usuario único de Postgres para hacerlo ejecutable en WASM.
- Adapta varias funciones de Postgres para ajustarlas a WASM.
Próximamente
- Planea desplegar bases de datos en S3 y hacerlas accesibles desde internet.
- Agregará soporte para más formatos de archivo, uso compartido de bases de datos y exportación de bases de datos.
Código abierto
- Todo el trabajo se ofrece como código abierto:
- PGlite (Apache 2.0)
- pg-gateway (MIT)
- postgres-new (Apache 2.0)
- transformers.js
Resumen de GN⁺
- postgres.new es un sandbox de Postgres que corre en el navegador y facilita el trabajo con bases de datos mediante soporte de IA.
- Con PGlite permite crear bases de datos rápidas y de bajo costo, además de ofrecer varias funciones impulsadas por IA.
- Puede convertirse en una herramienta útil para desarrolladores gracias a funciones como visualización de datos, generación de diagramas ER y búsqueda semántica.
- Otros proyectos con funciones similares incluyen Supabase y ElectricSQL.
3 comentarios
Era supabase.
PGLite - Ejecutar Postgres en el navegador
Opiniones de Hacker News
Comparte su experiencia usando postgres.new para crear 3 bases de datos
Lo considera una demo técnica que muestra las limitaciones de la IA
Al hacer clic en el botón "New database" no pasa nada
Muy impresionante
Opina que sería bueno poder usarlo sin funciones de IA
Considera que esta herramienta ayuda mucho en el diseño de bases de datos
Era escéptico sobre combinar IA/LLM con flujos de trabajo existentes, pero considera que en este caso está bien
Como ingeniero de Supabase, menciona que fue divertido desarrollar esta herramienta junto con el equipo de Electric
Indican usar postgres.new en laptop o desktop