> On Oct 8, 2025, at 19:38, Karina Litskevich <[email protected]> > wrote: > > Hi hackers, > > I noticed that GUCs io_combine_limit and io_max_combine_limit are marked > as GUC_UNIT_BLOCKS, but in the documentation nothing is said about that. > Other GUCs marked as GUC_UNIT_BLOCKS have a phrase "If this value is > specified without units, it is taken as blocks, that is BLCKSZ bytes, > typically 8kB" in their descriptions in the documentation. Please find > the attached patch that adds the same phrase for io_combine_limit and > io_max_combine_limit. This will need backpatching: io_combine_limit has > been present since PostgreSQL 17, and io_max_combine_limit since > PostgreSQL 18. > > I also have a question about the main part of the description of these > GUCs. It says, "Controls the largest I/O size in operations that combine > I/O." From what I can see, these GUCs really only affect read operations, > and this description looks misleading to me. Am I wrong? > > Best regards, > Karina Litskevich > Postgres Professional: http://postgrespro.com/ > <v1-0001-doc-Improve-description-of-io_combine_limit-and-i.patch>
I agree that is a good catch. I verified that, if I set in postgresql.conf: ``` io_combine_limit = 1 # usually 1-128 blocks (depends on OS) ``` Then I get: ``` evantest=# show io_combine_limit; io_combine_limit ------------------ 8kB (1 row) ``` And if I set: ``` io_combine_limit = 12bkB # usually 1-128 blocks (depends on OS) ``` Then I get: ``` evantest=# show io_combine_limit; io_combine_limit ------------------ 128kB (1 row) ``` So, this patch looks good to me. Please any committer takes care of this patch. -- Chao Li (Evan) HighGo Software Co., Ltd. https://www.highgo.com/
