aboutsummaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2025-03-30 19:14:55 -0400
committerAndres Freund <andres@anarazel.de>2025-03-30 19:16:47 -0400
commit2a5e709e721cf5f890cde51755b84cfe25d1c4d9 (patch)
treee48d7981c9ea2c20b9da99e5f78c7173875f7c68 /doc/src
parentae3df4b34155d4a3811762e78d5076e64df66fba (diff)
downloadpostgresql-2a5e709e721cf5f890cde51755b84cfe25d1c4d9.tar.gz
postgresql-2a5e709e721cf5f890cde51755b84cfe25d1c4d9.zip
Enable IO concurrency on all systems
Previously effective_io_concurrency and maintenance_io_concurrency could not be set above 0 on machines without fadvise support. AIO enables IO concurrency without such support, via io_method=worker. Currently only subsystems using the read stream API will take advantage of this. Other users of maintenance_io_concurrency (like recovery prefetching) which leverage OS advice directly will not benefit from this change. In those cases, maintenance_io_concurrency will have no effect on I/O behavior. Author: Melanie Plageman <melanieplageman@gmail.com> Reviewed-by: Noah Misch <noah@leadboat.com> Discussion: https://postgr.es/m/CAAKRu_atGgZePo=_g6T3cNtfMf0QxpvoUh5OUqa_cnPdhLd=gw@mail.gmail.com
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/config.sgml16
-rw-r--r--doc/src/sgml/ref/alter_tablespace.sgml2
-rw-r--r--doc/src/sgml/ref/create_tablespace.sgml2
3 files changed, 10 insertions, 10 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index f55f38cb85b..0d02e21a1ab 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -2585,8 +2585,7 @@ include_dir 'conf.d'
session attempts to initiate in parallel. The allowed range is
<literal>1</literal> to <literal>1000</literal>, or
<literal>0</literal> to disable issuance of asynchronous I/O requests.
- The default is <literal>16</literal> on supported systems, otherwise
- <literal>0</literal>.
+ The default is <literal>16</literal>.
</para>
<para>
@@ -2597,8 +2596,9 @@ include_dir 'conf.d'
</para>
<para>
- On systems without prefetch advice support, attempting to configure
- any value other than <literal>0</literal> will error out.
+ On systems with prefetch advice support,
+ <varname>effective_io_concurrency</varname> also controls the
+ prefetch distance.
</para>
<para>
@@ -2621,10 +2621,10 @@ include_dir 'conf.d'
for maintenance work that is done on behalf of many client sessions.
</para>
<para>
- The default is <literal>16</literal> on supported systems, otherwise
- <literal>0</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"/>).
+ 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>
diff --git a/doc/src/sgml/ref/alter_tablespace.sgml b/doc/src/sgml/ref/alter_tablespace.sgml
index 6ec863400d1..d0e08089ddb 100644
--- a/doc/src/sgml/ref/alter_tablespace.sgml
+++ b/doc/src/sgml/ref/alter_tablespace.sgml
@@ -88,7 +88,7 @@ ALTER TABLESPACE <replaceable>name</replaceable> RESET ( <replaceable class="par
and <varname>maintenance_io_concurrency</varname>.
Setting these values for a particular tablespace will override the
planner's usual estimate of the cost of reading pages from tables in
- that tablespace, and the executor's prefetching behavior, as established
+ that tablespace, and how many concurrent I/Os are issued, as established
by the configuration parameters of the
same name (see <xref linkend="guc-seq-page-cost"/>,
<xref linkend="guc-random-page-cost"/>,
diff --git a/doc/src/sgml/ref/create_tablespace.sgml b/doc/src/sgml/ref/create_tablespace.sgml
index 9d5ab025261..b77e774c53f 100644
--- a/doc/src/sgml/ref/create_tablespace.sgml
+++ b/doc/src/sgml/ref/create_tablespace.sgml
@@ -110,7 +110,7 @@ CREATE TABLESPACE <replaceable class="parameter">tablespace_name</replaceable>
and <varname>maintenance_io_concurrency</varname>.
Setting these values for a particular tablespace will override the
planner's usual estimate of the cost of reading pages from tables in
- that tablespace, and the executor's prefetching behavior, as established
+ that tablespace, and how many concurrent I/Os are issued, as established
by the configuration parameters of the
same name (see <xref linkend="guc-seq-page-cost"/>,
<xref linkend="guc-random-page-cost"/>,