have the most impact on higher latency storage
where queries otherwise experience noticeable I/O stalls and on
devices with high IOPs. Unnecessarily high values may increase I/O
latency for all queries on the system
</para>
<para>
On systems with prefetch advice support,
<varname>effective_io_concurrency</varname> also controls the
prefetch distance.
</para>
<para>
This value can be overridden for tables in a particular tablespace by
setting the tablespace parameter of the same name (see <xref
linkend="sql-altertablespace"/>).
</para>
</listitem>
</varlistentry>
<varlistentry id="guc-maintenance-io-concurrency" xreflabel="maintenance_io_concurrency">
<term><varname>maintenance_io_concurrency</varname> (<type>integer</type>)
<indexterm>
<primary><varname>maintenance_io_concurrency</varname> configuration parameter</primary>
</indexterm>
</term>
<listitem>
<para>
Similar to <varname>effective_io_concurrency</varname>, but used
for maintenance work that is done on behalf of many client sessions.
</para>
<para>
The default is <literal>16</literal>. This value can be overridden
for tables in a particular tablespace by setting the tablespace
parameter of the same name (see <xref
linkend="sql-altertablespace"/>).
</para>
</listitem>
</varlistentry>
<varlistentry id="guc-io-max-combine-limit" xreflabel="io_max_combine_limit">
<term><varname>io_max_combine_limit</varname> (<type>integer</type>)
<indexterm>
<primary><varname>io_max_combine_limit</varname> configuration parameter</primary>
</indexterm>
</term>
<listitem>
<para>
Controls the largest I/O size in operations that combine I/O, and silently
limits the user-settable parameter <varname>io_combine_limit</varname>.
This parameter can only be set in
the <filename>postgresql.conf</filename> file or on the server
command line.
The maximum possible size depends on the operating system and block
size, but is typically 1MB on Unix and 128kB on Windows.
The default is 128kB.
</para>
</listitem>
</varlistentry>
<varlistentry id="guc-io-combine-limit" xreflabel="io_combine_limit">
<term><varname>io_combine_limit</varname> (<type>integer</type>)
<indexterm>
<primary><varname>io_combine_limit</varname> configuration parameter</primary>
</indexterm>
</term>
<listitem>
<para>
Controls the largest I/O size in operations that combine I/O. If set
higher than the <varname>io_max_combine_limit</varname> parameter, the
lower value will silently be used instead, so both may need to be raised
to increase the I/O size.
The maximum possible size depends on the operating system and block
size, but is typically 1MB on Unix and 128kB on Windows.
The default is 128kB.
</para>
</listitem>
</varlistentry>
<varlistentry id="guc-io-max-concurrency" xreflabel="io_max_concurrency">
<term><varname>io_max_concurrency</varname> (<type>integer</type>)
<indexterm>
<primary><varname>io_max_concurrency</varname> configuration parameter</primary>
</indexterm>
</term>
<listitem>
<para>
Controls the maximum number of I/O operations that one process can
execute simultaneously.
</para>
<para>
The default setting of <literal>-1</literal> selects a number based
on <xref linkend="guc-shared-buffers"/> and the maximum number of
processes (<xref linkend="guc-max-connections"/>, <xref
linkend="guc-autovacuum-worker-slots"/>, <xref