Turso begins Postgres rewrite on its Rust database core
Turso is building a Postgres-compatible database on the Rust core it created for SQLite, aiming for one engine with multiple frontends.
By Renata Fuchs · Policy Reporter
· 3 min read
Turso has started a Turso Postgres rewrite, extending the Rust-based database core it built for its SQLite-compatible service into a Postgres-compatible implementation. The company is trying to turn that core into a common execution layer for multiple database frontends, a plan that could eventually include MySQL and Redis-style interfaces, according to CEO Glauber Costa.
Costa told The Register that Turso is not pursuing the project because Postgres is broken. His argument is that Postgres, like SQLite, can be rebuilt around architecture that better fits cloud services. The company has not disclosed a production launch date for the Postgres-compatible version, and it is not promising full compatibility with upstream Postgres.
What is Turso doing with Postgres?
Turso is building a database that speaks the Postgres protocol and is intended to run many existing Postgres applications without changes, while using Turso’s own Rust-based internals rather than Postgres itself. The first version of that idea was a prototype called pgmicro, built by Costa and co-founder Pekka Enberg on top of Turso’s database engine.
The commercial goal is a cloud database service where customers can choose familiar database interfaces while Turso runs them on a shared foundation. That positioning is more ambitious than a conventional hosted Postgres service, but the hard part is compatibility: Postgres has decades of behavior, extensions and operational assumptions that applications depend on.
How Turso got here
Costa and Enberg developed the idea after leaving engineering roles at ScyllaDB and starting ChiselStrike in San Francisco. The company needed an online database and began with SQLite, the compact transactional SQL engine created by D. Richard Hipp in 2000.
SQLite’s intentionally narrow scope limited how much ChiselStrike could change. The company first forked SQLite as libSQL, creating a path for outside contributors and internal feature work. More invasive changes, including a richer type system, required deeper control of the engine, leading to a full rewrite first known as Limbo.
ChiselStrike later shifted toward a SQLite-based cloud service and took the Turso name. Limbo then became a formal company project under the Turso name, which refers to the Finnish mythological sea creature Iku-Turso.
Why the virtual machine matters
Turso’s technical bet is centered on SQLite’s virtual machine model. SQLite compiles SQL into bytecode for a Virtual Database Engine, or VDBE. Turso rebuilt that approach in Rust and now argues that the same layer can support more than one database personality.
Costa has described SQL databases as collections of B-trees and indexes, with higher-level features expressible through the virtual machine. To show the VM’s flexibility, Costa and Enberg built a demo that runs the 1990s game DOOM in WebAssembly and returns each rendered frame as a database result row.
The idea of one database supporting multiple models is not new. Costa pointed to Google Spanner and Microsoft Cosmos DB as systems that support multiple formats higher in the stack. He said Turso’s distinction is that it sits much closer to storage, one layer above the storage engine. Apache DataFusion, another Rust-based project, is closer in spirit to that lower-level approach.
What changes from Postgres?
Turso plans to keep the developer-facing parts of Postgres familiar where it can, while reconsidering internals. One example Costa cited is Postgres’s one-process-per-connection model, which can be costly computationally and may not survive in Turso’s implementation.
The company also wants to add features requested by Postgres users, including automatically refreshed materialized views. Costa said work done for the Postgres-compatible version could later feed back into Turso’s other database variants. Rust is part of the implementation, but Costa framed it as a tool rather than the core story, noting that Turso chose Rust before AI coding agents became common and that many Postgres bugs are unrelated to memory safety.
This story draws on original reporting from The Register.