Parameter · Resource Usage / I/O
io_max_combine_limit
Server-wide limit that clamps io_combine_limit.
- Default:
128kB - Type: integer (8kB)
- Range: 8kB … 1MB
- Applies: Restart required
In plain words
A server-wide upper bound on how large merged reads may get. Sessions can choose io_combine_limit themselves, but never above this value. Because it sizes shared memory structures, it can only change with a restart.
For DBAs and operators
New in PostgreSQL 18. Default 128 kB, maximum typically 1 MB on Unix (128 kB on Windows). Asynchronous I/O handles reserve space per in-flight I/O for this many blocks, so raising it costs a little shared memory. Typical plan: set io_max_combine_limit = '1MB' at the next restart, then experiment with io_combine_limit per session or cluster-wide without restarts. A higher io_combine_limit than this value is accepted but silently clamped.
How to change it
Change in postgresql.conf or ALTER SYSTEM, then restart the server.