What went wrong (& what went right) with AIO with Andres Freund
Download MP3Six years, a prototype, and a brief multi-layered descent into “wronger and wronger” design—what does it take to land a major architectural change in Postgres? In Episode 31 of Talking Postgres, Andres Freund—major contributor, Postgres committer, and lead of the Asynchronous I/O project—shares the wins, the missteps, and why he thinks AIO definitely took too long. We dig into io_uring in Linux, direct I/O, streaming reads, technical leadership, and exactly when is the right time to stop working on a prototype. If you’ve ever wondered how big architectural changes happen, or why they sometimes take years, this episode is for you.
Links mentioned in this episode:
- Talking Postgres podcast: How I got started as a developer (& in Postgres) with Andres Freund & Heikki Linnakangas
- Release Notes: PostgreSQL 18 release notes
- News: PostgreSQL RC 1 Released on Sep 04 2025
- Wikipedia page: io_uring
- PostgreSQL: Join the PostgreSQL Hacking Discord
- Video of talk: What went wrong with AIO by Andres Freund at PGConfdev 2025
- Commit: Add core asynchronous I/O infrastructure to PostgreSQL
- Wiki page: AIO project in PostgreSQL with state, sub-projects, and work still to be done
- Upcoming Talk: AIO in PG 18 and Beyond at PGConf NYC on 30 Sep 2025
- Upcoming Talk: AIO in PG 18 and Beyond at PGConf EU on 23 Oct 2025
- Wikipedia page: XZ Utils backdoor discovery by Andres Freund
Creators and Guests
Host
Claire Giordano
Head of open source community efforts for Postgres at Microsoft. Ex-Citus Data, Amazon, Sun Microsystems, and Brown University CS. Serves on PGCA board. Prolific Postgres conference speaker. Co-creator of POSETTE: An Event for Postgres. Loves sailing in Greece.
Producer
Aaron Wislang
Principal Software Engineer (Open Source Engineering + Azure Core Upstream) at Microsoft + Azure ☁️ | Go (golang), Cloud Native, Linux 🐧 🐍 🦀 ☕ 🍷📷 🎹 | Toronto 🇨🇦🌎 | 💨😷💉 | https://aaronw.dev/hello/
