On 23.04.25 11:14, Daniel Gustafsson wrote:
>> On 23 Apr 2025, at 09:16, Laurenz Albe <laurenz.albe@cybertec.at> wrote:
>> On Wed, 2025-04-23 at 00:21 -0500, Igor Korot wrote:
>
>>> However, this page
>>> https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-EFFECTIVE-IO-CONCURRENCY
>>> describes both default and mn/max, however t s says:
>>>
>>> [quote]
>>> The default is 1 on supported systems, otherwise 0
>>> [/quote]]
>>>
>>> No explanation of what is "supported system" is given...
>>>
>>> And the same can be said about
>>> https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-MAINTENANCE-IO-CONCURRENCY.
>>
>> According to the source, it is "systems that have posix_fadvise()". We could document that,
>> but I don't know if it would help many people. I am not sure how easy and feasible it is
>> to research which versions of which operating systems qualify.
>
> From memory it's supported on FreeBSD, NetBSD and Linux with Windows, macOS and
> OpenBSD not supporting it. Assuming I'm not completely wrong (a 1 minute
> search shows it's in the ballpark) we could perhaps add something like
> "Unsupported platforms include (but isn't limited to) Windows and macOS" which
> would provide a bit more clarity.
Note that PG18 supports prefetching on macOS without posix_fadvise(),
and we changed some of the documentation text to not mention
posix_fadvise() anymore. Also, some of the text and the defaults have
changed because of the async IO feature set. Maybe see if the text in
master provides the information you need.