2025-08-29 –, Room 1 (Main Room)
Rust didn’t just make Postgres extensibility easier—it made it modern. With PGRX, you can build powerful extensions like custom types, aggregates, table access methods, and background workers using Rust code and tooling. This talk dives into how that shift happened, what it enables, and why it’s already reshaping the Postgres ecosystem from the ground up.
Postgres is awesome. Writing C is not, and writing C for Postgres is a whole other level of pain. For decades, extending Postgres meant navigating a minefield of macros, memory context rules, and cryptic errors that could crash your whole database. Rust developers know there’s a better way, and now with PGRX, you can bring the full power of Rust to Postgres itself. This isn’t about calling into Postgres from Rust, it’s about writing Postgres extensions in safe, expressive, testable Rust.
PGRX gives you everything you love about Rust—strong typing, great tooling, fearless concurrency—and wraps it around a set of autogenerated bindings to the Postgres internals. You can use Rust to define SQL-callable functions, custom aggregates, user-defined types (UDTs), enums, background workers, triggers, index access methods, even new table access methods. Need a new data type with custom I/O and operator behaviour? A background job scheduler that runs inside the database? A smarter index strategy for your specific workload? Write it in Rust, test it with cargo test, and ship it directly into Postgres.
This talk tells the story of how Rust broke open Postgres extensibility: what changed, what it unlocks, and why it matters. We’ll explore the kinds of things you can now build—custom types, aggregates, table access methods, background workers—and how PGRX is already transforming the Postgres ecosystem, especially for startups building on top of it.
If you believe in bringing safety, speed, and good ergonomics to every layer of the stack, including your database, this talk is for you.