On 23.04.25 11:14, Daniel Gustafsson wrote:
On 23 Apr 2025, at 09:16, Laurenz Albe <laurenz.a...@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.