alt.hn

4/25/2026 at 8:16:19 AM

Pgrx: Build Postgres Extensions with Rust

https://github.com/pgcentralfoundation/pgrx

by luu

4/28/2026 at 5:44:36 AM

Amazing project that spawned entire companies. We used it to build postgresml[0] and most Postgres extensions are built on top of it these days.

[0] https://github.com/postgresml/postgresml

by levkk

4/28/2026 at 2:14:41 PM

The domain for the org has expired and now it's a parking hosts. I don't know how maintained it is.

by braiamp

4/28/2026 at 2:28:28 PM

Postgresml closed up shop, the guy you're replying to was one of the key players there. Pgrx is trucking right along, and gaining speed at the moment.

by Icathian

4/28/2026 at 6:42:16 AM

Amazing, I didn't know this existed.

by pratio

4/28/2026 at 2:02:48 PM

PlanetScale's internal extensions -- Insights, Traffic Control, and pg_strict -- are all built in pgrx.

Number of memory unsafety and race conditions I've had to debug in production in a year of use: zero.

pgrx is fantastic.

by dukepiki

4/28/2026 at 7:14:00 AM

I built https://github.com/k0nserv/plid with Pgrx and had a great time. I did have to scale back some of the magic (dropping derive PostgresType etc), but even so the support pgrx provides is excellent. I also talked to the maintainers a bit in discord and they were super helpful.

The one downside of custom extensions is that you aren’t, AFAIK, able to use them with many hosted Postgres installs, notably AWS RDS.

by K0nserv

4/28/2026 at 8:51:44 AM

Or rather – one of the downsides of many hosted Postgres installs, notably AWS RDS, is that you're not able to use the extensions you want.

by Wicher

4/28/2026 at 4:07:46 PM

Maybe one of the reasons why hosted postgres often disallows extensions is due to security concerns from loading arbitrary machine code on a shared host. I wonder if pgrx changes the calculus here.

by infogulch

4/28/2026 at 5:16:07 PM

From the same org as pgrx is https://github.com/pgcentralfoundation/plrust, which _is_ supported on RDS (but not Aurora).

Since it's a procedural language, you can't do things like create a new index implementation or something else super low level. But there's still a lot you _can_ do. Like implement a custom comparator for a custom type and then use that type in a btree index.

by phamilton

4/28/2026 at 9:18:14 AM

Indeed, that's a much better formulation.

by K0nserv

4/28/2026 at 1:54:59 PM

The maintainers for this project are pretty nice all around. Very knowledgeable and as helpful as anyone could ask.

by tracker1

4/28/2026 at 11:43:13 AM

I thought this was abandoned?

by awesomeMilou

4/28/2026 at 2:03:24 PM

Last release was two weeks ago. pgrx is actively maintained.

by dukepiki

4/28/2026 at 11:34:13 AM

Supabase is an interesting middle ground here — it runs on managed Postgres but gives you access to a curated set of extensions (pg_cron, pgvector, unaccent, PostGIS etc.) without needing to build your own. We used unaccent + GIN indexes for fuzzy city search and it worked well. Still not the same as arbitrary custom extensions, but covers a lot of practical use cases that RDS won't touch.

by jpshastri

4/28/2026 at 1:37:04 PM

RDS also has a curated set of extensions?

https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLRelea...

Which includes literally all 4 extensions you’ve mentioned.

Every managed service does this, specifically because they need to blacklist extensions that touch on the managed parts of it — eg filesystem

by setr

4/28/2026 at 1:52:32 PM

If I need to do fuzzy location searches, I've thought about just matching geohash locations... even if doing multiple sets and collating them... Note: this was in consideration for something like Scylla or Dynamo.

by tracker1