We are officially writing a new version of Postgres. in Rust

tosh1 pts0 comments

Glauber Costa on X: "I am excited to announce that we are officially writing a new version of Postgres. In Rust - and creating the LLVM of databases in the process.

In the span of a year, we have rewritten SQLite. Keeping the compatibility, increasing its feature set. MVCC, Types, (Live)" / X<br>Post

Log inSign up

Post

Glauber Costa

@glcst

I am excited to announce that we are officially writing a new version of Postgres. In Rust - and creating the LLVM of databases in the process.

In the span of a year, we have rewritten SQLite. Keeping the compatibility, increasing its feature set. MVCC, Types, (Live) Materialized Views, among other things. In the process of doing that, we have realized: At the end of the day, what makes SQLite special is that it compiles SQL to a database-specific bytecode. So why can't we compile *Postgres* to the same bytecode?

Turns out we can. I ran an experiment called pgmicro as a way to prove this hypothesis, and it works very well. It is time to make this official, and put the weight of Turso behind it. We shall give the world a modern take on Postgres. Wire compatible, but built on a new architecture.

We have already heard of others wanting to extend this. MySQL? Redis? the sky is the limit. What can we do if we do for databases what LLVM did for compilers? To prove how powerful the SQLite bytecode is, we are actually running DOOM compiled to the unmodified SQLite instruction set. And because Turso runs natively in the browser, you can play the game in your browser. With the database executing it.

Read the full story below! 馃憞<br>span:not(:empty)~span:not(:empty)]:before:content-['路'] [&>span:not(:empty)~span:not(:empty)]:before:px-1 [&>span:not(:empty)~span:not(:empty)]:before:shrink-0">2:15 PM 路 Jul 16, 20263.3KViews

:host{display:inline-block;direction:ltr;white-space:nowrap;line-height:1}span{display:inline-block}:host([data-will-change]) span{will-change:transform}.number,.digit{padding:round(nearest, calc(var(--number-flow-mask-height, 0.25em) / 2), 1px) 0}.symbol{white-space:pre}8:where(number-flow-react){line-height:1}number-flow-react > span{font-kerning:none;display:inline-block;padding:calc(round(nearest, calc(var(--number-flow-mask-height, 0.25em) / 2), 1px) * 2) 0}8<br>:host{display:inline-block;direction:ltr;white-space:nowrap;line-height:1}span{display:inline-block}:host([data-will-change]) span{will-change:transform}.number,.digit{padding:round(nearest, calc(var(--number-flow-mask-height, 0.25em) / 2), 1px) 0}.symbol{white-space:pre}11:where(number-flow-react){line-height:1}number-flow-react > span{font-kerning:none;display:inline-block;padding:calc(round(nearest, calc(var(--number-flow-mask-height, 0.25em) / 2), 1px) * 2) 0}11<br>:host{display:inline-block;direction:ltr;white-space:nowrap;line-height:1}span{display:inline-block}:host([data-will-change]) span{will-change:transform}.number,.digit{padding:round(nearest, calc(var(--number-flow-mask-height, 0.25em) / 2), 1px) 0}.symbol{white-space:pre}92:where(number-flow-react){line-height:1}number-flow-react > span{font-kerning:none;display:inline-block;padding:calc(round(nearest, calc(var(--number-flow-mask-height, 0.25em) / 2), 1px) * 2) 0}92<br>:host{display:inline-block;direction:ltr;white-space:nowrap;line-height:1}span{display:inline-block}:host([data-will-change]) span{will-change:transform}.number,.digit{padding:round(nearest, calc(var(--number-flow-mask-height, 0.25em) / 2), 1px) 0}.symbol{white-space:pre}21:where(number-flow-react){line-height:1}number-flow-react > span{font-kerning:none;display:inline-block;padding:calc(round(nearest, calc(var(--number-flow-mask-height, 0.25em) / 2), 1px) * 2) 0}21

Read 8 replies

New to X?<br>Sign up now to get your own personalized timeline!<br>Sign up with GoogleSign up with AppleCreate account<br>By signing up, you agree to the Terms of Service and Privacy Policy, including Cookie Use.

Relevant people<br>Glauber Costa@glcstFollow

Trending now

Don't miss what's happening<br>People on X are the first to know.

Log inSign up

span number height flow display inline

Related Articles