@@ -2383,6 +2383,36 @@ include_dir 'conf.d'
2383
2383
<title>Asynchronous Behavior</title>
2384
2384
2385
2385
<variablelist>
2386
+ <varlistentry id="guc-backend-flush-after" xreflabel="backend_flush_after">
2387
+ <term><varname>backend_flush_after</varname> (<type>integer</type>)
2388
+ <indexterm>
2389
+ <primary><varname>backend_flush_after</varname> configuration parameter</primary>
2390
+ </indexterm>
2391
+ </term>
2392
+ <listitem>
2393
+ <para>
2394
+ Whenever more than this amount of data has
2395
+ been written by a single backend, attempt to force the OS to issue
2396
+ these writes to the underlying storage. Doing so will limit the
2397
+ amount of dirty data in the kernel's page cache, reducing the
2398
+ likelihood of stalls when an <function>fsync</function> is issued at the end of a
2399
+ checkpoint, or when the OS writes data back in larger batches in the
2400
+ background. Often that will result in greatly reduced transaction
2401
+ latency, but there also are some cases, especially with workloads
2402
+ that are bigger than <xref linkend="guc-shared-buffers"/>, but smaller
2403
+ than the OS's page cache, where performance might degrade. This
2404
+ setting may have no effect on some platforms.
2405
+ If this value is specified without units, it is taken as blocks,
2406
+ that is <symbol>BLCKSZ</symbol> bytes, typically 8kB.
2407
+ The valid range is
2408
+ between <literal>0</literal>, which disables forced writeback,
2409
+ and <literal>2MB</literal>. The default is <literal>0</literal>, i.e., no
2410
+ forced writeback. (If <symbol>BLCKSZ</symbol> is not 8kB,
2411
+ the maximum value scales proportionally to it.)
2412
+ </para>
2413
+ </listitem>
2414
+ </varlistentry>
2415
+
2386
2416
<varlistentry id="guc-effective-io-concurrency" xreflabel="effective_io_concurrency">
2387
2417
<term><varname>effective_io_concurrency</varname> (<type>integer</type>)
2388
2418
<indexterm>
@@ -2579,32 +2609,25 @@ include_dir 'conf.d'
2579
2609
</listitem>
2580
2610
</varlistentry>
2581
2611
2582
- <varlistentry id="guc-backend-flush-after" xreflabel="backend_flush_after">
2583
- <term><varname>backend_flush_after</varname> (<type>integer</type>)
2612
+ <varlistentry id="guc-parallel-leader-participation" xreflabel="parallel_leader_participation">
2613
+ <term>
2614
+ <varname>parallel_leader_participation</varname> (<type>boolean</type>)
2584
2615
<indexterm>
2585
- <primary><varname>backend_flush_after </varname> configuration parameter</primary>
2616
+ <primary><varname>parallel_leader_participation </varname> configuration parameter</primary>
2586
2617
</indexterm>
2587
2618
</term>
2588
2619
<listitem>
2589
2620
<para>
2590
- Whenever more than this amount of data has
2591
- been written by a single backend, attempt to force the OS to issue
2592
- these writes to the underlying storage. Doing so will limit the
2593
- amount of dirty data in the kernel's page cache, reducing the
2594
- likelihood of stalls when an <function>fsync</function> is issued at the end of a
2595
- checkpoint, or when the OS writes data back in larger batches in the
2596
- background. Often that will result in greatly reduced transaction
2597
- latency, but there also are some cases, especially with workloads
2598
- that are bigger than <xref linkend="guc-shared-buffers"/>, but smaller
2599
- than the OS's page cache, where performance might degrade. This
2600
- setting may have no effect on some platforms.
2601
- If this value is specified without units, it is taken as blocks,
2602
- that is <symbol>BLCKSZ</symbol> bytes, typically 8kB.
2603
- The valid range is
2604
- between <literal>0</literal>, which disables forced writeback,
2605
- and <literal>2MB</literal>. The default is <literal>0</literal>, i.e., no
2606
- forced writeback. (If <symbol>BLCKSZ</symbol> is not 8kB,
2607
- the maximum value scales proportionally to it.)
2621
+ Allows the leader process to execute the query plan under
2622
+ <literal>Gather</literal> and <literal>Gather Merge</literal> nodes
2623
+ instead of waiting for worker processes. The default is
2624
+ <literal>on</literal>. Setting this value to <literal>off</literal>
2625
+ reduces the likelihood that workers will become blocked because the
2626
+ leader is not reading tuples fast enough, but requires the leader
2627
+ process to wait for worker processes to start up before the first
2628
+ tuples can be produced. The degree to which the leader can help or
2629
+ hinder performance depends on the plan type, number of workers and
2630
+ query duration.
2608
2631
</para>
2609
2632
</listitem>
2610
2633
</varlistentry>
@@ -5889,29 +5912,6 @@ SELECT * FROM parent WHERE key = 2400;
5889
5912
</listitem>
5890
5913
</varlistentry>
5891
5914
5892
- <varlistentry id="guc-parallel-leader-participation" xreflabel="parallel_leader_participation">
5893
- <term>
5894
- <varname>parallel_leader_participation</varname> (<type>boolean</type>)
5895
- <indexterm>
5896
- <primary><varname>parallel_leader_participation</varname> configuration parameter</primary>
5897
- </indexterm>
5898
- </term>
5899
- <listitem>
5900
- <para>
5901
- Allows the leader process to execute the query plan under
5902
- <literal>Gather</literal> and <literal>Gather Merge</literal> nodes
5903
- instead of waiting for worker processes. The default is
5904
- <literal>on</literal>. Setting this value to <literal>off</literal>
5905
- reduces the likelihood that workers will become blocked because the
5906
- leader is not reading tuples fast enough, but requires the leader
5907
- process to wait for worker processes to start up before the first
5908
- tuples can be produced. The degree to which the leader can help or
5909
- hinder performance depends on the plan type, number of workers and
5910
- query duration.
5911
- </para>
5912
- </listitem>
5913
- </varlistentry>
5914
-
5915
5915
<varlistentry id="guc-plan-cache_mode" xreflabel="plan_cache_mode">
5916
5916
<term><varname>plan_cache_mode</varname> (<type>enum</type>)
5917
5917
<indexterm>
0 commit comments