Re: doc: Improve description of io_combine_limit and io_max_combine_limit GUCs

From: Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>
To: Karina Litskevich <litskevichkarina(at)gmail(dot)com>
Cc: Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: doc: Improve description of io_combine_limit and io_max_combine_limit GUCs
Date: 2025-10-09 03:04:44
Message-ID: D4C58017-67A9-48B1-A345-9667FB1FCA44@gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On Oct 8, 2025, at 19:38, Karina Litskevich <litskevichkarina(at)gmail(dot)com> 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/

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Jeff Davis 2025-10-09 03:06:04 Re: Clarification on Role Access Rights to Table Indexes
Previous Message Tom Lane 2025-10-09 03:04:37 Re: plan shape work