DB Internals AtlasPostgreSQL 18.6 Home About

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.

See it in context

Asynchronous I/O I/O workers

Related parameters

io_combine_limit io_max_concurrency io_method

All Resource Usage parameters