summaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/config.sgml23
-rw-r--r--doc/src/sgml/ref/alter_table.sgml3
-rw-r--r--doc/src/sgml/ref/create_table.sgml26
3 files changed, 51 insertions, 1 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 5e551b9f6d6..8603cf3f941 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -5072,6 +5072,29 @@ ANY <replaceable class="parameter">num_sync</replaceable> ( <replaceable class="
</listitem>
</varlistentry>
+ <varlistentry id="guc-enable-parallel-insert" xreflabel="enable_parallel_insert">
+ <term><varname>enable_parallel_insert</varname> (<type>boolean</type>)
+ <indexterm>
+ <primary><varname>enable_parallel_insert</varname> configuration parameter</primary>
+ </indexterm>
+ </term>
+ <listitem>
+ <para>
+ Enables or disables the query planner's use of parallel plans for
+ <command>INSERT</command> commands. The default is <literal>on</literal>.
+ When enabled, the planner performs additional parallel-safety checks
+ on the target table's attributes and indexes, in order to determine
+ if it's safe to use a parallel plan for <command>INSERT</command>. In
+ cases such as when the target table has a large number of partitions,
+ and particularly also when that table uses something parallel-unsafe
+ that prevents parallelism, the overhead of these checks may become
+ prohibitively high. To address this potential overhead in these cases,
+ this option can be used to disable the use of parallel plans for
+ <command>INSERT</command>.
+ </para>
+ </listitem>
+ </varlistentry>
+
</variablelist>
</sect2>
<sect2 id="runtime-config-query-constants">
diff --git a/doc/src/sgml/ref/alter_table.sgml b/doc/src/sgml/ref/alter_table.sgml
index c25ef5abd6a..f82dce4a597 100644
--- a/doc/src/sgml/ref/alter_table.sgml
+++ b/doc/src/sgml/ref/alter_table.sgml
@@ -722,7 +722,8 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
<para>
<literal>SHARE UPDATE EXCLUSIVE</literal> lock will be taken for
fillfactor, toast and autovacuum storage parameters, as well as the
- planner parameter <varname>parallel_workers</varname>.
+ planner parameter <varname>parallel_workers</varname> and
+ <varname>parallel_insert_enabled</varname>.
</para>
</listitem>
</varlistentry>
diff --git a/doc/src/sgml/ref/create_table.sgml b/doc/src/sgml/ref/create_table.sgml
index 71703da85ae..ff1b642722a 100644
--- a/doc/src/sgml/ref/create_table.sgml
+++ b/doc/src/sgml/ref/create_table.sgml
@@ -1409,6 +1409,32 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
</listitem>
</varlistentry>
+ <varlistentry id="reloption-parallel-insert-enabled" xreflabel="parallel_insert_enabled">
+ <term><literal>parallel_insert_enabled</literal> (<type>boolean</type>)
+ <indexterm>
+ <primary><varname>parallel_insert_enabled</varname> storage parameter</primary>
+ </indexterm>
+ </term>
+ <listitem>
+ <para>
+ Enables or disables the query planner's use of parallel insert for
+ this table. When enabled (and provided that
+ <xref linkend="guc-enable-parallel-insert"/> is also <literal>true</literal>),
+ the planner performs additional parallel-safety checks on the table's
+ attributes and indexes, in order to determine if it's safe to use a
+ parallel plan for <command>INSERT</command>. The default is
+ <literal>true</literal>. In cases such as when the table has a large
+ number of partitions, and particularly also when that table uses a
+ parallel-unsafe feature that prevents parallelism, the overhead of these
+ checks may become prohibitively high. To address this potential overhead
+ in these cases, this option can be used to disable the use of parallel
+ insert for this table. Note that if the target table of the parallel
+ insert is partitioned, the <literal>parallel_insert_enabled</literal>
+ option values of the partitions are ignored.
+ </para>
+ </listitem>
+ </varlistentry>
+
<varlistentry id="reloption-autovacuum-enabled" xreflabel="autovacuum_enabled">
<term><literal>autovacuum_enabled</literal>, <literal>toast.autovacuum_enabled</literal> (<type>boolean</type>)
<indexterm>