What went wrong (& what went right) with AIO with Andres Freund

What went wrong (& what went right) with AIO with Andres Freund

September 19, 2025 · 1h 13m · Episode 31

About this episode

Andres Freund discusses the challenges and successes of implementing Asynchronous I/O in Postgres.

Six 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…

More episodes of Talking Postgres with Claire Giordano

Explore listener stats, chart rankings, contacts and more on the Talking Postgres with Claire Giordano podcast page.