What went wrong (& what went right) with AIO with Andres Freund | Talking Postgres Ep31

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.

Chapters:
⏩ 00:00 Music & introduction
⏩ 04:04 Why AIO for Postgres
⏩ 05:14 io_uring in Linux
⏩ 06:01 Two important changes afoot
⏩ 11:07 Streaming I/O in PG17
⏩ 14:34 It definitely took too long!
⏩ 17:44 CI as key enabler
⏩ 21:45 Callbacks and dead-ends
⏩ 26:49 WAL writes and AIO
⏩ 28:56 Multi-layered descent into wronger and wronger design
⏩ 31:45 Band-aids upon band-aids
⏩ 34:07 Tolerance for uncertainty
⏩ 39:14 What's in PG 18 and what's coming next
⏩ 45:54 How can people get involved with AIO
⏩ 48:56 The thing Andres feels best about
⏩ 52:43 Convincing a lot of people
⏩ 57:05 XZ Utils backdoor discovered because of Postgres AIO
⏩ 1:05:23 Taking care of yourself

📜 Full transcript available at:
https://talkingpostgres.com/episodes/what-went-wrong-what-went-right-with-aio-with-andres-freund/transcript
✅ Listen to more episodes of Talking Postgres:
https://talkingpostgres.com

💥 Subscribe to Talking Postgres, so you never miss an episode:
https://talkingpostgres.com/subscribe

Links mentioned in this episode:
🔹 Podcast Ep08 of Talking Postgres with Andres Freund & Heikki Linnakangas: https://youtu.be/V8bw0UepeuI?feature=shared
🔹 PostgreSQL 18 release notes: https://www.postgresql.org/docs/18/release-18.html
🔹 PostgreSQL 18 RC 1 Released: https://www.postgresql.org/about/news/postgresql-18-rc-1-released-3130/
🔹 Wikipedia page: Linux kernel system call io_uring: https://en.wikipedia.org/wiki/Io_uring
🔹 Video: Talk about AIO at PGConfdev 2025 by Andres Freund: https://youtu.be/GR5v9DHiS8w?si=l_JbcyoYOhQqgaYh
🔹 Commit to add core asynchronous I/O infrastructure to Postgres: https://github.com/postgres/postgres/commit/da7226993fd4b73d8b40abb7167d124eada97f2e
🔹 Upcoming talk at PGConf NYC about AIO in PG 18 and Beyond: https://postgresql.us/events/pgconfus2025/schedule/session/2079-aio-in-pg-18-and-beyond/
🔹 Upcoming talk at PGConf EU in Latvia about AIO in PG 18 and Beyond: https://www.postgresql.eu/events/pgconfeu2025/schedule/session/7001-aio-in-pg-18-and-beyond/
🔹 Wiki page: AIO project in PostgreSQL with state of project & work still to be done: https://wiki.postgresql.org/wiki/AIO
🔹 Wikipedia page: XZ Utils backdoor: https://en.wikipedia.org/wiki/XZ_Utils_backdoor
🔹 Join the PostgreSQL Hacking Discord server: https://discord.gg/bx2G9KWyrY
🔹 Calendar invite: LIVE recording of Ep32 of Talking Postgres to happen on Wed Oct 08, 2025: https://aka.ms/TalkingPostgres-Ep32-cal

#TalkingPostgres #podcast #PostgreSQL Receive SMS online on sms24.me

TubeReader video aggregator is a website that collects and organizes online videos from the YouTube source. Video aggregation is done for different purposes, and TubeReader take different approaches to achieve their purpose.

Our try to collect videos of high quality or interest for visitors to view; the collection may be made by editors or may be based on community votes.

Another method is to base the collection on those videos most viewed, either at the aggregator site or at various popular video hosting sites.

TubeReader site exists to allow users to collect their own sets of videos, for personal use as well as for browsing and viewing by others; TubeReader can develop online communities around video sharing.

Our site allow users to create a personalized video playlist, for personal use as well as for browsing and viewing by others.

@YouTubeReaderBot allows you to subscribe to Youtube channels.

By using @YouTubeReaderBot Bot you agree with YouTube Terms of Service.

Use the @YouTubeReaderBot telegram bot to be the first to be notified when new videos are released on your favorite channels.

Look for new videos or channels and share them with your friends.

You can start using our bot from this video, subscribe now to What went wrong (& what went right) with AIO with Andres Freund | Talking Postgres Ep31

What is YouTube?

YouTube is a free video sharing website that makes it easy to watch online videos. You can even create and upload your own videos to share with others. Originally created in 2005, YouTube is now one of the most popular sites on the Web, with visitors watching around 6 billion hours of video every month.