mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Add TRUNCATE parameter to VACUUM.
This commit adds new parameter to VACUUM command, TRUNCATE, which specifies that VACUUM should attempt to truncate off any empty pages at the end of the table and allow the disk space for the truncated pages to be returned to the operating system. This parameter, if specified, overrides the vacuum_truncate reloption. If neither the reloption nor the VACUUM option is used, the default is true, as before. Author: Fujii Masao Reviewed-by: Julien Rouhaud, Masahiko Sawada Discussion: https://postgr.es/m/CAD21AoD+qtrSDL=GSma4Wd3kLYLeRC0hPna-YAdkDeV4z156vg@mail.gmail.com
This commit is contained in:
@ -1418,7 +1418,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
|
||||
Disabling index cleanup can speed up <command>VACUUM</command> very
|
||||
significantly, but may also lead to severely bloated indexes if table
|
||||
modifications are frequent. The <literal>INDEX_CLEANUP</literal>
|
||||
parameter to <xref linkend="sql-vacuum"/>, if specified, overrides
|
||||
parameter of <xref linkend="sql-vacuum"/>, if specified, overrides
|
||||
the value of this option.
|
||||
</para>
|
||||
</listitem>
|
||||
@ -1438,7 +1438,9 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
|
||||
autovacuum do the truncation and the disk space for
|
||||
the truncated pages is returned to the operating system.
|
||||
Note that the truncation requires <literal>ACCESS EXCLUSIVE</literal>
|
||||
lock on the table.
|
||||
lock on the table. The <literal>TRUNCATE</literal> parameter
|
||||
of <xref linkend="sql-vacuum"/>, if specified, overrides the value
|
||||
of this option.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -33,6 +33,7 @@ VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ ANALYZE ] [ <replaceable class="paramet
|
||||
DISABLE_PAGE_SKIPPING [ <replaceable class="parameter">boolean</replaceable> ]
|
||||
SKIP_LOCKED [ <replaceable class="parameter">boolean</replaceable> ]
|
||||
INDEX_CLEANUP [ <replaceable class="parameter">boolean</replaceable> ]
|
||||
TRUNCATE [ <replaceable class="parameter">boolean</replaceable> ]
|
||||
|
||||
<phrase>and <replaceable class="parameter">table_and_columns</replaceable> is:</phrase>
|
||||
|
||||
@ -204,6 +205,24 @@ VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ ANALYZE ] [ <replaceable class="paramet
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><literal>TRUNCATE</literal></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies that <command>VACUUM</command> should attempt to
|
||||
truncate off any empty pages at the end of the table and allow
|
||||
the disk space for the truncated pages to be returned to
|
||||
the operating system. This is normally the desired behavior
|
||||
and is the default unless the <literal>vacuum_truncate</literal>
|
||||
option has been set to false for the table to be vacuumed.
|
||||
Setting this option to false may be useful to avoid
|
||||
<literal>ACCESS EXCLUSIVE</literal> lock on the table that
|
||||
the truncation requires. This option is ignored if the
|
||||
<literal>FULL</literal> option is used.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><replaceable class="parameter">boolean</replaceable></term>
|
||||
<listitem>
|
||||
|
Reference in New Issue
Block a user