11<!--
2- $Header: /cvsroot/pgsql/doc/src/sgml/ref/vacuum.sgml,v 1.17 2001/07/10 22:09:28 tgl Exp $
2+ $Header: /cvsroot/pgsql/doc/src/sgml/ref/vacuum.sgml,v 1.18 2001/08/26 16:55:59 tgl Exp $
33Postgres documentation
44-->
55
@@ -20,11 +20,11 @@ Postgres documentation
2020 </refnamediv>
2121 <refsynopsisdiv>
2222 <refsynopsisdivinfo>
23- <date>2001-07-10 </date>
23+ <date>2001-08-26 </date>
2424 </refsynopsisdivinfo>
2525 <synopsis>
26- VACUUM [ FULL ] [ VERBOSE ] [ <replaceable class="PARAMETER">table</replaceable> ]
27- VACUUM [ FULL ] [ VERBOSE ] ANALYZE [ <replaceable class="PARAMETER">table</replaceable> [ (<replaceable class="PARAMETER">column</replaceable> [, ...] ) ] ]
26+ VACUUM [ FULL ] [FREEZE ] [ VERBOSE ] [ <replaceable class="PARAMETER">table</replaceable> ]
27+ VACUUM [ FULL ] [FREEZE ] [ VERBOSE ] ANALYZE [ <replaceable class="PARAMETER">table</replaceable> [ (<replaceable class="PARAMETER">column</replaceable> [, ...] ) ] ]
2828 </synopsis>
2929
3030 <refsect2 id="R2-SQL-VACUUM-1">
@@ -46,6 +46,14 @@ VACUUM [ FULL ] [ VERBOSE ] ANALYZE [ <replaceable class="PARAMETER">table</repl
4646 </para>
4747 </listitem>
4848 </varlistentry>
49+ <varlistentry>
50+ <term>FREEZE</term>
51+ <listitem>
52+ <para>
53+ Selects aggressive <quote>freezing</quote> of tuples.
54+ </para>
55+ </listitem>
56+ </varlistentry>
4957 <varlistentry>
5058 <term>VERBOSE</term>
5159 <listitem>
@@ -169,21 +177,38 @@ NOTICE: Index <replaceable class="PARAMETER">index</replaceable>: Pages 28;
169177 </para>
170178
171179 <para>
172- Plain <command>VACUUM</command> simply reclaims space and makes it
180+ <command>VACUUM ANALYZE</command> performs a <command>VACUUM</command>
181+ and then an <command>ANALYZE</command> for each selected table. This
182+ is a handy combination form for routine maintenance scripts. See
183+ <xref linkend="sql-analyze" endterm="sql-analyze-title">
184+ for more details about its processing.
185+ </para>
186+
187+ <para>
188+ Plain <command>VACUUM</command> (without <literal>FULL</>) simply reclaims
189+ space and makes it
173190 available for re-use. This form of the command can operate in parallel
174191 with normal reading and writing of the table. <command>VACUUM
175192 FULL</command> does more extensive processing, including moving of tuples
176193 across blocks to try to compact the table to the minimum number of disk
177- blocks. This is much slower and requires an exclusive lock on each table
178- while it is being processed.
194+ blocks. Thisform is much slower and requires an exclusive lock on each
195+ table while it is being processed.
179196 </para>
180197
181198 <para>
182- <command>VACUUM ANALYZE</command> performs a <command>VACUUM</command>
183- and then an <command>ANALYZE</command> for each selected table. This
184- is a handy combination form for routine maintenance scripts. See
185- <xref linkend="sql-analyze" endterm="sql-analyze-title">
186- for more details about its processing.
199+ <command>FREEZE</command> is a special-purpose option that
200+ causes tuples to be marked <quote>frozen</quote> as soon as possible,
201+ rather than waiting until they are quite old. If this is done when there
202+ are no other open transactions in the same database, then it is guaranteed
203+ that all tuples in the database are <quote>frozen</> and will not be
204+ subject to transaction ID wraparound problems, no matter how long the
205+ database is left un-vacuumed.
206+ <command>FREEZE</command> is not recommended for routine use. Its only
207+ intended usage is in connection with preparation of user-defined template
208+ databases, or other databases that are completely read-only and will not
209+ receive routine maintenance <command>VACUUM</> operations.
210+ See <xref linkend="sql-createdatabase" endterm="sql-createdatabase-title">
211+ for details.
187212 </para>
188213
189214 <refsect2 id="R2-SQL-VACUUM-3">