Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
We're Building Postgres in Rust. Using the LLVM of Databases (turso.tech)
91 points by polyrand 21 hours ago | hide | past | favorite | 24 comments
 help



Sounds cool but also why? Is it so it's possible to have 1 database and then switch from sqlite to postgres without data migration?

I'm already quite excited about Turso being SQLite-compatible, but adding many features on top.

And when a feature is not directly compatible with SQLite (ie: you can't directly read the file with `sqlite3`, it's straightforward to convert). This is great because you know you'll always be able to continue working with that database. Even if Turso stopped working, it's still a valid SQLite database.

A combination I would be excited about is:

- Full support for Postgres protocol/wire format (ie: Postgres, but in-process, backed by a single file). - Optional: Client/server architecture for further scaling and remote management using existing Postgres tooling - All backed by a SQLite-compatible file

They are already adding MVCC to SQLite anyway. So their effort seems doable, and I hope they succeed.


Supporting Postgres is a good goal but honestly the real challenge is extensions. Would supporting Postgres wire compatibility guarantee any Postgres extension would also work? This is one of the problems with Aurora - it’s all well and good until you need an extension that isn’t on the blessed list

> Would supporting Postgres wire compatibility guarantee any Postgres extension would also work?

It would not, for obvious reasons.


Care to elaborate? The reasons are not obvious

Wire protocol applies to external interaction with the db.

Internal ABI/API is used by extensions to directly interact with core subsystems and depends on internal models for things like storage.

It might be analogous to HTTP versus an nginx plugin.


There’s a section about extensions in the FAQ.

Author also discussing it on their Twitter [0]. I’m reserving judgement for now, but this has lots of potential usecases even apart from replacing postgres.

[0]: https://x.com/glcst/status/2077759127682486561?s=46


People said same thing about sqlite, but I love turso sqlite and haven't faced any issues.

There is no turso sqlite

I don't know if you were being pedantic or confused, but turso is a sqlite3 remake in rust (with some additional features).

turso is not an sqlite remake.

at all


They are even going to the extend of preserving SQLite footguns, so I am not sure what else would it be.

It's something else that claims some level of compatibility with SQLite.

It has nothing to do with SQLite.


Maybe you could explain why you think it is not a remake, when it clearly is generally seen as one.

Because it's not a remake and not seen as one.

It's a product done by someone while claiming some level of compatibility with whatever they want to claim compatibility with.

It has nothing to do with SQLite or Postgres or whatever else's brand they will type in their docs.


"An in-process SQL database, compatible with SQLite, and now with a Postgres frontend too "

Tried DOOM in that page, it's really slow...

The ram is a blob on the db, ofc it's slow

The llvm of databases is not turso, it's datafusion.

Yes I assumed datafusion when I heard that phrase.

Would be interested in strategic value add versus cedardb (although cedar is closed source in a way that at the moment I think may kill it)

As someone who doesn't follow databases that closely, how is this different from Amazon Aurora (other than being open source)?

Will it have fast COUNT-s?



Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: