Update commit_delay documentation.

Commit 13fe298ca0 changed this GUC to be
PGC_SUSET, but neglected to update the documentation to match.

While at it, edit and rearrange the text a little for clarity.
This commit is contained in:
Tom Lane 2013-03-22 11:39:15 -04:00
parent 9df56f6d91
commit 82b945c097
1 changed files with 8 additions and 5 deletions

View File

@ -1949,7 +1949,7 @@ include 'filename'
</indexterm> </indexterm>
<listitem> <listitem>
<para> <para>
<varname>commit_delay</varname> adds a time delay, set in <varname>commit_delay</varname> adds a time delay, measured in
microseconds, before a WAL flush is initiated. This can improve microseconds, before a WAL flush is initiated. This can improve
group commit throughput by allowing a larger number of transactions group commit throughput by allowing a larger number of transactions
to commit via a single WAL flush, if system load is high enough to commit via a single WAL flush, if system load is high enough
@ -1959,7 +1959,12 @@ include 'filename'
flush. Because the delay is just wasted if no other transactions flush. Because the delay is just wasted if no other transactions
become ready to commit, a delay is only performed if at least become ready to commit, a delay is only performed if at least
<varname>commit_siblings</varname> other transactions are active <varname>commit_siblings</varname> other transactions are active
immediately before a flush would otherwise have been initiated. when a flush is about to be initiated. Also, no delays are
performed if <varname>fsync</varname> is disabled.
The default <varname>commit_delay</> is zero (no delay).
Only superusers can change this setting.
</para>
<para>
In <productname>PostgreSQL</> releases prior to 9.3, In <productname>PostgreSQL</> releases prior to 9.3,
<varname>commit_delay</varname> behaved differently and was much <varname>commit_delay</varname> behaved differently and was much
less effective: it affected only commits, rather than all WAL flushes, less effective: it affected only commits, rather than all WAL flushes,
@ -1967,9 +1972,7 @@ include 'filename'
was completed sooner. Beginning in <productname>PostgreSQL</> 9.3, was completed sooner. Beginning in <productname>PostgreSQL</> 9.3,
the first process that becomes ready to flush waits for the configured the first process that becomes ready to flush waits for the configured
interval, while subsequent processes wait only until the leader interval, while subsequent processes wait only until the leader
completes the flush. The default <varname>commit_delay</> is zero completes the flush operation.
(no delay). No delays are performed unless <varname>fsync</varname>
is enabled.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>