Readit News logoReadit News
nalgeon · 2 years ago
Fitting PostgreSQL into a 12MB binary with a simple API is amazing!

I was so excited to try it out it that I just released an in-browser PostgreSQL playground on top of PGlite.

It's also open source and easy to integrate:

https://codapi.org/postgres-pglite

vbalegas · 2 years ago
Awesome! Will check it out
tyrauber · 2 years ago
This is awesome. Are extensions like PostGIS supported? I wish react-native natively supported WASM. It would be cool to run this client-side instead of sqlite.
nilslice · 2 years ago
join us on the Extism discord https://extism.org/discord, we're working on some things that will enable this. would love to hear what you're thinking!
philippemnoel · 2 years ago
This is super cool. Postgres is slowly overlapping on every part of the data stack, even SQLite isn't safe!
dang · 2 years ago
Related (but different):

Postgres WASM - https://news.ycombinator.com/item?id=33067962 - Oct 2022 (185 comments)

ejb999 · 2 years ago
Interesting that it could be done at all - but having a hard time coming up with any real world use cases for this. Are there any?
tjelen · 2 years ago
Code testing is a big one for me. I'm currently using in-memory sqlite for tests and I'm often running into differences between sqlite and postgres (default values, JSON handling, etc). This could allow me to use the real thing without running a full Docker instance.
amcaskill · 2 years ago
I think performance and cost are the big motivators here.

I work on a web framework for building data apps like reports and dashboards, and we use duckDB’s WASM runtime for interactions (e.g when a user changes a date range filter). It’s really fast, and you don’t spend snowflake credits.

iansinnott · 2 years ago
No one using postgres in the cloud is going to use this as an alternative, but there are at least two use cases where this could be very useful:

- You want your app to be local first (snappy, great offline support, etc) but sync data to a server. This is the ElectricSQL use case.

- You want a serious data store in-browser. SQLite via wasm already fits this use case, but it's nice to have options.

throwaway92374 · 2 years ago
It can persist data to indexedDB, so web applications can use it if they want a more flexible alternative
creatonez · 2 years ago
That's neat, I wonder what the overhead is though.
andrenotgiant · 2 years ago
How is this different than the one done by CrunchyData here https://www.crunchydata.com/blog/crazy-idea-to-postgres-in-t...
thruflo · 2 years ago
The previous PG WASM projects from Crunchy and Snaplet have run Postgres in a VM and required a large 32MB download.

This is pure WASM, no VM, 3.7MB download. Plus it has persistent storage.

erichocean · 2 years ago
This seems possible due to the separation of Postgres storage and compute work done by Neon?

Deleted Comment

thruflo · 2 years ago
Yup, this is based on work by Neon. Also the Neon model allows you to sync in a database on demand, whilst scaling to zero when you’re not using it.
milesokeefe · 2 years ago
This is amazing! I’ve been wanting this to exist for years for use in unit tests. This made my day (and maybe upcoming work week)