← Research

What Made Postgres 18 Faster: Larger Reads, Not Async I/O

We moved SnoutData Cloud to Postgres 18 and wanted our own number for its best-known new feature, asynchronous I/O. On a host shaped like our fleet's, one query got much faster: a cold bitmap heap scan took 2.38 seconds on 18 against 10.33 on 17. But turning asynchronous I/O off did not slow it down, a sequential scan ran at the same speed on both versions, and a vacuum was slower on 18. This note is the method, every run, and what the speedup is actually made of.

Every timed run, the plans, the vacuum logs and the scripts that produced them are kept with the run. The engineering side of the move, including the three things in it that would have bitten us, is in the blog post.