PostgreSQL 18 introduces support for asynchronous I/O, a significant advancement for the platform.
The default setting for the new io_method parameter is 'worker' with a default of 3 worker processes.
Other options for io_method include 'io_uring' for asynchronous I/O using io_uring and 'sync' for traditional synchronous I/O.
The performance impact of different io_method settings is tested using data loading and pgbench benchmarks.
Results show that for the tested workloads, 'worker' is slower compared to 'sync' and 'io_uring'.
Despite the performance differences, the overall impact of the new asynchronous I/O support is significant.
Tests on an AWS EC2 instance running Debian 12 with gp3 storage volume were conducted to validate the performance.
Multiple tests with different io_method settings show comparable performance across 'sync', 'io_uring', and 'worker'.
Increasing system stress with higher client and job counts also results in consistent performance across io_method settings.
The article concludes with optimism about future improvements in PostgreSQL and acknowledges the efforts of those involved in developing the asynchronous I/O support.
The support for asynchronous I/O in PostgreSQL 18 is seen as a significant step forward that promises further enhancements in performance and scalability.