aboutsummaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/config.sgml25
1 files changed, 19 insertions, 6 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 8e2a2c5d736..570c7c3b7de 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -1638,12 +1638,25 @@ SET ENABLE_SEQSCAN TO OFF;
</indexterm>
<listitem>
<para>
- The amount of memory used in shared memory for WAL data. The
- default is 64 kilobytes (<literal>64kB</>). The setting need only
- be large enough to hold the amount of WAL data generated by one
- typical transaction, since the data is written out to disk at
- every transaction commit. This parameter can only be set at server
- start.
+ The amount of shared memory used for WAL data that has not yet been
+ written to disk. The default setting of -1 selects a size equal to
+ 1/32nd (about 3%) of <xref linkend="guc-shared-buffers">, but not less
+ than <literal>64kB</literal> nor more than the size of one WAL
+ segment, typically <literal>16MB</literal>. This value can be set
+ manually if the automatic choice is too large or too small,
+ but any positive value less than <literal>32kB</literal> will be
+ treated as <literal>32kB</literal>.
+ This parameter can only be set at server start.
+ </para>
+
+ <para>
+ The contents of the WAL buffers are written out to disk at every
+ transaction commit, so extremely large values are unlikely to
+ provide a significant benefit. However, setting this value to at
+ least a few megabytes can improve write performance on a busy
+ server where many clients are committing at once. The auto-tuning
+ selected by the default setting of -1 should give reasonable
+ results in most cases.
</para>
<para>