HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
malisper
pgrust
Rust2026–2026
malisper / pgrust

pgrust

Postgres rewritten in Rust, now faster than Postgres and Clickhouse

19Distinct people
39Mentions
2Explicit recommenders
5.8KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Postgres rewritten in Rust, now faster than Postgres and Clickhouse

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

Author here. Let me know if you have any questions about the post or about pgrust. Let me take a shot at answering what I think will be the most common question: how can I…

malisper used a recommendation phrase. 2 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 6:01:32 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week39 dated mentions

Observed mentions: 2026-05-01 20:29:24 UTC to 2026-10-25 02:27:07 UTC. Weeks start Monday, UTC.

0510152026-04-27 00:00:00 UTC to 2026-05-04 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsApr 272026-05-04 00:00:00 UTC to 2026-05-11 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2026-05-11 00:00:00 UTC to 2026-05-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-05-18 00:00:00 UTC to 2026-05-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-05-25 00:00:00 UTC to 2026-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-01 00:00:00 UTC to 2026-06-08 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-08 00:00:00 UTC to 2026-06-15 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2026-06-15 00:00:00 UTC to 2026-06-22 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-22 00:00:00 UTC to 2026-06-29 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2026-06-29 00:00:00 UTC to 2026-07-06 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2026-07-06 00:00:00 UTC to 2026-07-13 00:00:00 UTC (exclusive): 15 mentions; 1 submissions, 14 comments2026-07-13 00:00:00 UTC to 2026-07-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-07-20 00:00:00 UTC to 2026-07-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsJul 202026-07-27 00:00:00 UTC to 2026-08-03 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2026-08-03 00:00:00 UTC to 2026-08-10 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2026-08-10 00:00:00 UTC to 2026-08-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-08-17 00:00:00 UTC to 2026-08-24 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2026-08-24 00:00:00 UTC to 2026-08-31 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-08-31 00:00:00 UTC to 2026-09-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-09-07 00:00:00 UTC to 2026-09-14 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-09-14 00:00:00 UTC to 2026-09-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-09-21 00:00:00 UTC to 2026-09-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-09-28 00:00:00 UTC to 2026-10-05 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2026-10-05 00:00:00 UTC to 2026-10-12 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-10-12 00:00:00 UTC to 2026-10-19 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2026-10-19 00:00:00 UTC to 2026-10-26 00:00:00 UTC (exclusive): 7 mentions; 0 submissions, 7 commentsOct 19

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Apr 272026-04-27 00:00:00 UTC2026-05-04 00:00:00 UTC101
May 42026-05-04 00:00:00 UTC2026-05-11 00:00:00 UTC202
May 112026-05-11 00:00:00 UTC2026-05-18 00:00:00 UTC000
May 182026-05-18 00:00:00 UTC2026-05-25 00:00:00 UTC000
May 252026-05-25 00:00:00 UTC2026-06-01 00:00:00 UTC000
Jun 12026-06-01 00:00:00 UTC2026-06-08 00:00:00 UTC000
Jun 82026-06-08 00:00:00 UTC2026-06-15 00:00:00 UTC101
Jun 152026-06-15 00:00:00 UTC2026-06-22 00:00:00 UTC000
Jun 222026-06-22 00:00:00 UTC2026-06-29 00:00:00 UTC110
Jun 292026-06-29 00:00:00 UTC2026-07-06 00:00:00 UTC303
Jul 62026-07-06 00:00:00 UTC2026-07-13 00:00:00 UTC15114
Jul 132026-07-13 00:00:00 UTC2026-07-20 00:00:00 UTC000
Jul 202026-07-20 00:00:00 UTC2026-07-27 00:00:00 UTC000
Jul 272026-07-27 00:00:00 UTC2026-08-03 00:00:00 UTC211
Aug 32026-08-03 00:00:00 UTC2026-08-10 00:00:00 UTC303
Aug 102026-08-10 00:00:00 UTC2026-08-17 00:00:00 UTC000
Aug 172026-08-17 00:00:00 UTC2026-08-24 00:00:00 UTC101
Aug 242026-08-24 00:00:00 UTC2026-08-31 00:00:00 UTC000
Aug 312026-08-31 00:00:00 UTC2026-09-07 00:00:00 UTC000
Sep 72026-09-07 00:00:00 UTC2026-09-14 00:00:00 UTC000
Sep 142026-09-14 00:00:00 UTC2026-09-21 00:00:00 UTC000
Sep 212026-09-21 00:00:00 UTC2026-09-28 00:00:00 UTC000
Sep 282026-09-28 00:00:00 UTC2026-10-05 00:00:00 UTC101
Oct 52026-10-05 00:00:00 UTC2026-10-12 00:00:00 UTC000
Oct 122026-10-12 00:00:00 UTC2026-10-19 00:00:00 UTC202
Oct 192026-10-19 00:00:00 UTC2026-10-26 00:00:00 UTC707

What Hacker News says

3 sources
> Maybe the takeaway is that 20% is about all the LLM can muster At this point there's a long list of projects that have used LLMs to rewrite a system in Rust including: - Bun (https://github.com/oven-sh/bun/pull/30412) - Valkey (https://github.com/ianm199/valdr) - Git (https://github.com/gitbutlerapp/grit) - Postgres (https://github.com/malisper/pgrust) With the exception of Bun, these projects were done pre-fable too, so I bet Fable will make these types of rewrites even easier.
In My AI-built PHP engine in Rust passes 17% of PHP-src tests, renders WordPress
I made a comment about this yesterday[0], but there's been a massive increase in people migrating from C to Rust due to LLMs. In contrast to what the C to Rust migration book is recommending (using FFI to integrate Rust with C), I've found it much easier to start from scratch. I recently finished a project where I rewrote Postgres in Rust[1]. For context, Postgres is about one million lines of C code. On one attempt, I tried using c2rust to convert Postgres into unsafe Rust code. That attempt succeeded in terms of getting working "Rust" code, but any attempt to change any piece to safe rust, would require thousands of changes across codebase. Even though I had working Rust code, I found it infeasible to get to working idiomatic Rust code. Instead what I found to be more effective was starting a new codebase and rewrite each file from the
Read the rest
Postgres codebase into Rust one at a time. This allowed me to guarantee that at all times the new codebase was idiomatic and simultaneously I could make one pass over the Postgres codebase to get working idiomatic Rust. YMMV, but I found it way easier to generate a whole new codebase from scratch rather than incrementally rewrite an existing codebase. [0] https://news.ycombinator.com/item?id=48738985#48739882 [1] https://github.com/malisper/pgrust
In The C to Rust migration book
A meta-trend I find interesting is there's a lot of projects using AI to rewrite existing systems in new programming languages. Most often in Rust. 1. Bun rewritten in Rust 2. Flow rewritten in Rust 3. The react compiler was rewritten in Rust 4. Grit is a new implementation of Git in Rust 5. I've made my own rust rewrite of postgres that passes 100% of the regression and isolation tests[0][1] I think AI changed the economics of these projects even more than it has the economics for software engineering work in general. Though direct AI code translation is usually slop for me. One of the many things I did to deal with this was an audit skill that would: 1. Find a small chunk of code to rewrite 2. Have a list of things that it was looking for in each piece of code that's being rewritten 3. Place that next to the code being
Read the rest
translated 4. If that document didn't exist and/or didn't say the code was passing the audit, code wouldn't be merged 5. As I found problems and anti-patterns I would add those to the skill over time This by itself still let a lot of slop slip through, but also preemptively caught a ton of issues as part of my overall process. Complicated old "boring" infra software might actually be the most AI-rewriteable code right now [0] https://pgrust.com [1] https://github.com/malisper/pgrust
In I ported Kubernetes to the browser

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.