mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Add wal_recycle and wal_init_zero GUCs.
On at least ZFS, it can be beneficial to create new WAL files every time and not to bother zero-filling them. Since it's not clear which other filesystems might benefit from one or both of those things, add individual GUCs to control those two behaviors independently and make only very general statements in the docs. Author: Jerry Jelinek, with some adjustments by Thomas Munro Reviewed-by: Alvaro Herrera, Andres Freund, Tomas Vondra, Robert Haas and others Discussion: https://postgr.es/m/CACPQ5Fo00QR7LNAcd1ZjgoBi4y97%2BK760YABs0vQHH5dLdkkMA%40mail.gmail.com
This commit is contained in:
@ -3590,6 +3590,41 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="guc-wal-init-zero" xreflabel="wal_init_zero">
|
||||
<term><varname>wal_init_zero</varname> (<type>boolean</type>)
|
||||
<indexterm>
|
||||
<primary><varname>wal_init_zero</varname> configuration parameter</primary>
|
||||
</indexterm>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
If set to <literal>on</literal> (the default), this option causes new
|
||||
WAL files to be filled with zeroes. On some filesystems, this ensures
|
||||
that space is allocated before we need to write WAL records. However,
|
||||
<firstterm>Copy-On-Write</firstterm> (COW) filesystems may not benefit
|
||||
from this technique, so the option is given to skip the unnecessary
|
||||
work. If set to <literal>off</literal>, only the final byte is written
|
||||
when the file is created so that it has the expected size.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="guc-wal-recycle" xreflabel="wal_recycle">
|
||||
<term><varname>wal_recycle</varname> (<type>boolean</type>)
|
||||
<indexterm>
|
||||
<primary><varname>wal_recycle</varname> configuration parameter</primary>
|
||||
</indexterm>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
If set to <literal>on</literal> (the default), this option causes WAL
|
||||
files to be recycled by renaming them, avoiding the need to create new
|
||||
ones. On COW filesystems, it may be faster to create new ones, so the
|
||||
option is given to disable this behavior.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="guc-wal-sender-timeout" xreflabel="wal_sender_timeout">
|
||||
<term><varname>wal_sender_timeout</varname> (<type>integer</type>)
|
||||
<indexterm>
|
||||
|
Reference in New Issue
Block a user