18 คะแนน โดย xguru 2024-02-28 | 3 ความคิดเห็น | แชร์ทาง WhatsApp
  • บิลด์ Postgres แบบ WASM ที่แพ็กมาเป็นไลบรารีไคลเอนต์ TypeScript เพื่อให้สามารถรัน Postgres ได้ในเบราว์เซอร์, Node.js และ Bun
  • ไม่มี dependency อื่น และมีขนาด 3.7Mb หลังบีบอัดด้วย gzip
  • ใช้เป็นฐานข้อมูล in-memory ชั่วคราวได้ หรือใช้งานแบบถาวรบนไฟล์ซิสเต็ม (Node/Bun) หรือ IndexedDB (เบราว์เซอร์) ได้
  • แตกต่างจาก Postgres ที่รันบนเบราว์เซอร์ตัวอื่น ๆ ตรงที่นี่เป็น "Postgres in WASM" ที่ไม่ใช้ Linux virtual machine
import { PGlite } from "@electric-sql/pglite"  
  
const db = new PGlite()  
await db.query("select 'Hello world' as message;")  
// -> [ { message: "Hello world" } ]  

3 ความคิดเห็น

 
caniel 2024-12-04

ผมใช้งานสิ่งนี้ได้อย่างมีประโยชน์มากเวลาที่เขียนโค้ดทดสอบ สะดวกต่อการทดสอบบน CI ด้วย

 
yangeok 2024-03-06

แบบเดียวกับการใช้ sqlite ในแอปมือถือ ก็น่าจะใช้เก็บสิ่งที่ไม่จำเป็นต้องซิงก์กับฐานข้อมูลระยะไกลได้สินะครับ อาจใช้แทน global state store อย่าง redux ได้เลยหรือเปล่า?!

 
goinwater 2024-12-03

ก็แอบสงสัยว่า จำเป็นต้องถึงขั้นมาเรียนรู้คำสั่ง SQL ฝั่งฟรอนต์เอนด์เพื่อใช้แทนกันไหม แต่ก็น่าสนุกดีนะ เห็นว่ามีแพ็กเกจ pglite-react อยู่ด้วยเหมือนกัน