
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…
Explore listener stats, chart rankings, contacts and more on the Talking Postgres with Claire Giordano podcast page.