news.volyx.in

Waiting for Postgres 18: Accelerating Disk Reads with Asynchronous I/O (pganalyze.com)

572 points by lfittl · 450 days ago · 154 comments on HN

Article summary

The upcoming Postgres 18 release introduces asynchronous I/O, a significant architectural shift that can improve performance, particularly in cloud environments. Asynchronous I/O allows Postgres to issue multiple read requests concurrently, reducing query latency and increasing throughput. The new io_method setting controls the I/O implementation, with options for synchronous, worker, and io_uring methods. Benchmarks show that asynchronous I/O can double read performance and provide even greater gains with io_uring.

Main themes

  • Asynchronous I/O in Postgres 18
  • Performance improvements
  • Cloud environments
  • Windows vs Linux
  • Backup strategies
  • Postgres deployment on Windows

What commenters say

  • Some commenters note that Windows has had async I/O since Windows NT 3.1, but its API is not currently supported by Postgres.
  • The introduction of io_uring in Postgres 18 is seen as a significant improvement, but some commenters point out that Windows now also has a similar feature called IORing.
  • There is a discussion about the difficulty of tearing out the Windows desktop experience and using only the system and display drivers, with some commenters mentioning alternatives like Windows Server Core.
  • Some commenters argue that the CPU scheduler in Linux is far better than in Windows, while others point out that Windows does OOM better than Linux.
  • The use of Postgres on Windows is discussed, with some commenters sharing their experiences and others asking about the statistics of usage by platform.
  • There is a debate about the best backup strategy for Postgres, with some commenters recommending tools like pgbackrest and barman, while others share their own custom solutions.