> 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/




Reply via email to