Skip to content
This repository has been archived by the owner on Sep 19, 2024. It is now read-only.
/ postgres-wasm Public archive

A PostgresQL server running in your browser

License

Notifications You must be signed in to change notification settings

snaplet/postgres-wasm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

Postgres WASM

A PostgreSQL server instance running in a virtual machine running in the browser
by Supabase & Snaplet

Snaplet, Supabase and friends

Demo   •   Discord   •   Snaplet   •   Supabase

The future is now

Since we worked on this project, awesome and more usable solutions exist:

While postgres-wasm was more of a proof of concept, both the above solutions can be used to run PostgreSQL in the browser or getting in-memory PostgreSQL databases!

Quickstart

cd packages/runtime && npx serve

Go to http://localhost:3000 and have fun!

Packages

This repo is split into three packages that build up the environment for running PostgreSQL in the browser.

  • runtime: The v86 emulator that starts the buildroot image
  • Buildroot: Scripts to build the CPU and memory snapshot run by v86.
  • Websockproxy: Networking

Acknowledgements

  • v86 which is the emulator for running x86 operating systems in the browser, without it none of the following projects would be possible
  • crunchydata playground for leading the way and showing the world that it was possible to run PostgreSQL in the browser
  • browser-shell which was already way ahead of its time, especially on the filesystem part
  • browser-linux for showing us how we can make the pieces fit together
  • Websockets Proxy the ingenious workaround that opened up the world for v86 emulators everywhere