18 points par xguru 2024-02-28 | 3 commentaires | Partager sur WhatsApp
  • Build WASM de Postgres empaqueté dans une bibliothèque cliente TypeScript pour exécuter Postgres dans le navigateur, Node.js et Bun
  • Sans autre dépendance, 3,7 Mo après compression gzip
  • Peut être utilisé comme base de données temporaire en mémoire, ou de façon persistante sur le système de fichiers (Node/Bun) ou dans IndexedDB (navigateur)
  • Contrairement aux autres Postgres exécutés dans le navigateur, il s’agit de « Postgres in WASM » sans machine virtuelle Linux
import { PGlite } from "@electric-sql/pglite"  
  
const db = new PGlite()  
await db.query("select 'Hello world' as message;")  
// -> [ { message: "Hello world" } ]  

3 commentaires

 
caniel 2024-12-04

Je l’utilise très utilement pour écrire du code de test. C’est pratique pour exécuter les tests en CI.

 
yangeok 2024-03-06

Comme on utilise SQLite dans les applications mobiles, on pourrait donc y stocker des choses qui n’ont pas besoin d’une synchronisation avec une base de données distante. Ça pourrait même remplacer un store d’état global comme Redux, non ?!

 
goinwater 2024-12-03

Je ne suis pas sûr qu’il faille vraiment le remplacer en apprenant des requêtes SQL côté front, mais c’est intéressant. Il existe aussi le package pglite-react.