Re: Postgre and AIO

Xuneng Zhou <xunengzhou@gmail.com>

From: Xuneng Zhou <xunengzhou@gmail.com>
To: "Weck, Luis" <luis.weck@pismo.io>
Cc: "pgsql-general@postgresql.org" <pgsql-general@postgresql.org>
Date: 2025-09-29T12:25:46Z
Lists: pgsql-general
Hi,

On Mon, Sep 29, 2025 at 8:07 PM Weck, Luis <luis.weck@pismo.io> wrote:
>
> This is more of a question of capability and to make me understand how exactly AIO work in Postgres.
>
> Now that AIO landed in v18, I was thinking of a use case which has annoyed me sometimes, which is inserting  lots of data into a table with many indices. What I am specifically “complaining” is that index updating happens one at a time. Would it be possible/make sense to use AIO to do this?
>
> Another thing that happens often is that an index lookup for something like SELECT y FROM tbl WHERE x IN (1,2,…N)  where N is a big number such as 1000 or 2000, takes a while, because (at least for versions < 18) it took a long time sequentially reading the index  for each value. I ended up having to split the values into smaller chunks and ran multiple queries in parallel to maintain a lower latency overall.
>
> Anyway, does any of this make sense? Could Postgres extend the use of AIO to such cases?

To my knowledge, AIO for index scan is still in-progress and expected
to land in v19/20 or later?

[1] https://wiki.postgresql.org/wiki/AIO (not stay-up-to date)
[2] https://talkingpostgres.com/episodes/what-went-wrong-what-went-right-with-aio-with-andres-freund

Best,
Xuneng