This matches the behavior of other parameters that are unsupported on
some systems (e.g., ssl).
Also document the default value.
in an error. On some operating systems (e.g., Solaris), the function
is present but does not actually do anything.
</para>
+
+ <para>
+ The default is 1 on supported systems, otherwise 0.
+ </para>
</listitem>
</varlistentry>
{
{"effective_io_concurrency",
-#ifdef USE_PREFETCH
PGC_USERSET,
-#else
- PGC_INTERNAL,
-#endif
RESOURCES_ASYNCHRONOUS,
gettext_noop("Number of simultaneous requests that can be handled efficiently by the disk subsystem."),
gettext_noop("For RAID arrays, this should be approximately the number of drive spindles in the array.")
conflines = replace_token(conflines, "#dynamic_shared_memory_type = posix",
repltok);
+#if !USE_PREFETCH
+ conflines = replace_token(conflines,
+ "#effective_io_concurrency = 1",
+ "#effective_io_concurrency = 0");
+#endif
+
snprintf(path, sizeof(path), "%s/postgresql.conf", pg_data);
writefile(path, conflines);