diff options
Diffstat (limited to 'doc/src/sgml/ref/vacuum.sgml')
-rw-r--r-- | doc/src/sgml/ref/vacuum.sgml | 453 |
1 files changed, 232 insertions, 221 deletions
diff --git a/doc/src/sgml/ref/vacuum.sgml b/doc/src/sgml/ref/vacuum.sgml index 98758c773ee..2e9a3fe6531 100644 --- a/doc/src/sgml/ref/vacuum.sgml +++ b/doc/src/sgml/ref/vacuum.sgml @@ -1,212 +1,206 @@ -<REFENTRY ID="SQL-VACUUM-1"> -<REFMETA> -<REFENTRYTITLE id="vacuum"> -VACUUM -</REFENTRYTITLE> -<REFMISCINFO>SQL - Language Statements</REFMISCINFO> -</REFMETA> -<REFNAMEDIV> -<REFNAME> -VACUUM -</REFNAME> -<REFPURPOSE> -Clean and analyze a <productname>Postgres</productname> database -</REFPURPOSE> - </refnamediv> -<REFSYNOPSISDIV> -<REFSYNOPSISDIVINFO> -<DATE>1998-10-04</DATE> -</REFSYNOPSISDIVINFO> -<SYNOPSIS> -VACUUM [ VERBOSE ] [ ANALYZE ] [ <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE> ] -VACUUM [ VERBOSE ] ANALYZE [ <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE> [ (<REPLACEABLE CLASS="PARAMETER">column</REPLACEABLE> [, ...] ) ] ] -</SYNOPSIS> +<refentry id="SQL-VACUUM-1"> + <refmeta> + <refentrytitle id="vacuum"> + VACUUM + </refentrytitle> + <refmiscinfo>SQL - Language Statements</refmiscinfo> + </refmeta> + <refnamediv> + <refname> + VACUUM + </refname> + <refpurpose> + Clean and analyze a <productname>Postgres</productname> database + </refpurpose> + </refnamediv> + <refsynopsisdiv> + <refsynopsisdivinfo> + <date>1998-10-04</date> + </refsynopsisdivinfo> + <synopsis> +VACUUM [ VERBOSE ] [ ANALYZE ] [ <replaceable class="PARAMETER">table</replaceable> ] +VACUUM [ VERBOSE ] ANALYZE [ <replaceable class="PARAMETER">ER">t</replaceable>BLE> [ (<replaceable class="PARAMETER">column</replaceable> [, ...] ) ] ] + </synopsis> + + <refsect2 id="R2-SQL-VACUUM-1"> + <refsect2info> + <date>1998-10-04</date> + </refsect2info> + <title> + Inputs + </title> + + <para> + <variablelist> + <varlistentry> + <term>VERBOSE</term> + <listitem> + <para> + Prints a detailed vacuum activity report for each table. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>ANALYZE</term> + <listitem> + <para> + Updates column statistics used by the optimizer to + determine the most efficient way to execute a query. + The statistics represent the disbursion of the data in each column. + This information is valuable when several execution paths are possible. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><replaceable class="PARAMETER">table</replaceable></term> + <listitem> + <para> + The name of a specific table to vacuum. Defaults to all tables. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><replaceable class="PARAMETER">column</replaceable></term> + <listitem> + <para> + The name of a specific column to analyze. Defaults to all columns. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect2> + + <refsect2 id="R2-SQL-VACUUM-2"> + <refsect2info> + <date>1998-10-04</date> + </refsect2info> + <title> + Outputs + </title> + <para> + + <variablelist> + <varlistentry> + <term><computeroutput> +<returnvalue>VACUUM</returnvalue> + </computeroutput></term> + <listitem> + <para> + The command has been accepted and the database is being cleaned. + </para> + </listitem> + </varlistentry> - <REFSECT2 ID="R2-SQL-VACUUM-1"> - <REFSECT2INFO> - <DATE>1998-10-04</DATE> - </REFSECT2INFO> - <TITLE> - Inputs - </TITLE> - <PARA> - - <VARIABLELIST> - <VARLISTENTRY> - <TERM> - VERBOSE - </term> - <LISTITEM> - <PARA> - Prints a detailed vacuum activity report for each table. - </para> - </listitem> - </varlistentry> - <VARLISTENTRY> - <TERM> - ANALYZE - </term> - <LISTITEM> - <PARA> - Updates column statistics used by the optimizer to - determine the most efficient way to execute a query. - The statistics represent the disbursion of the data in each column. - This information is valuable when several execution paths are possible. - </para> - </listitem> - </varlistentry> - <VARLISTENTRY> - <TERM> - <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE> - </term> - <LISTITEM> - <PARA> - The name of a specific table to vacuum. Defaults to all tables. - </para> - </listitem> - </varlistentry> - <VARLISTENTRY> - <TERM> - <REPLACEABLE CLASS="PARAMETER">column</REPLACEABLE> - </term> - <LISTITEM> - <PARA> - The name of a specific column to analyze. Defaults to all columns. - </para> - </listitem> - </varlistentry> - </VARIABLELIST> - </para> - </REFSECT2> + <varlistentry> + <term><computeroutput> +NOTICE: --Relation <replaceable class="PARAMETER">table</replaceable>-- + </computeroutput></term> + <listitem> + <para> + The report header for <replaceable class="PARAMETER">table</replaceable>. + </para> + </listitem> + </varlistentry> - <REFSECT2 ID="R2-SQL-VACUUM-2"> - <REFSECT2INFO> - <DATE>1998-10-04</DATE> - </REFSECT2INFO> - <TITLE> - Outputs - </TITLE> - <PARA> + <varlistentry> + <term><computeroutput> +NOTICE: Pages 98: Changed 25, Reapped 74, Empty 0, New 0; + Tup 1000: Vac 3000, Crash 0, UnUsed 0, MinLen 188, MaxLen 188; + Re-using: Free/Avail. Space 586952/586952; EndEmpty/Avail. Pages 0/74. + Elapsed 0/0 sec. + </computeroutput></term> + <listitem> + <para> + The analysis for <replaceable class="PARAMETER">table</replaceable> itself. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><computeroutput> +NOTICE: Index <replaceable class="PARAMETER">index</replaceable>: Pages 28; + Tuples 1000: Deleted 3000. Elapsed 0/0 sec. + </computeroutput></term> + <listitem> + <para> + The analysis for an index on the target table. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect2> + </refsynopsisdiv> - <VARIABLELIST> - <VARLISTENTRY> - <TERM> - <ReturnValue>VACUUM</ReturnValue> - </TERM> - <LISTITEM> - <PARA> - The command has been accepted and the database is being cleaned. - </para> - </listitem> - </varlistentry> - - <VARLISTENTRY> - <TERM> - NOTICE: --Relation <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE>-- - </term> - <LISTITEM> - <PARA> - The report header for <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE>. - </para> - </listitem> - </varlistentry> + <refsect1 id="R1-SQL-VACUUM-1"> + <refsect1info> + <date>1998-10-04</date> + </refsect1info> + <title> + Description + </title> + <para> + <command>VACUUM</command> serves two purposes in + <productname>Postgres</productname> as both a means to reclaim storage and + also a means to collect information for the optimizer. + </para> - <VARLISTENTRY> - <TERM> - NOTICE: Pages 98: Changed 25, Reapped 74, Empty 0, New 0; - Tup 1000: Vac 3000, Crash 0, UnUsed 0, MinLen 188, MaxLen 188; - Re-using: Free/Avail. Space 586952/586952; EndEmpty/Avail. Pages 0/74. - Elapsed 0/0 sec. - </term> - <LISTITEM> - <PARA> - The analysis for <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE> itself. - </para> - </listitem> - </varlistentry> - - <VARLISTENTRY> - <TERM> - NOTICE: Index <REPLACEABLE CLASS="PARAMETER">index</REPLACEABLE>: Pages 28; - Tuples 1000: Deleted 3000. Elapsed 0/0 sec. - </term> - <LISTITEM> - <PARA> - The analysis for an index on the target table. - </para> - </listitem> - </varlistentry> - </VARIABLELIST> - </para> - </REFSECT2> - </REFSYNOPSISDIV> + <para> + <command>VACUUM</command> opens every class in the database, + cleans out records from rolled back transactions, and updates statistics in the + system catalogs. The statistics maintained include the number of + tuples and number of pages stored in all classes. + </para> - <REFSECT1 ID="R1-SQL-VACUUM-1"> - <REFSECT1INFO> - <DATE>1998-10-04</DATE> - </REFSECT1INFO> - <TITLE> - Description - </TITLE> - <PARA> - <command>VACUUM</command> serves two purposes in - <productname>Postgres</productname> as both a means to reclaim storage and - also a means to collect information for the optimizer. - </para> - <para> - <command>VACUUM</command> opens every class in the database, - cleans out records from rolled back transactions, and updates statistics in the - system catalogs. The statistics maintained include the number of - tuples and number of pages stored in all classes. + <para> + Running <command>VACUUM</command> + periodically will increase the speed of the database in processing user queries. + </para> - Running <command>VACUUM</command> - periodically will increase the speed of the database in processing user queries. - </para> + <refsect2 id="R2-SQL-VACUUM-3"> + <refsect2info> + <date>1998-10-04</date> + </refsect2info> + <title> + Notes + </title> + <para> + The open database is the target for <command>VACUUM</command>. + </para> + <para> + We recommend that active production databases be cleaned nightly, in order + to keep statistics relatively current. The <command>VACUUM</command> + query may be executed at any time, however. In particular, after + copying a large class into <productname>Postgres</productname> + or after deleting a large number of + records, it may be a good idea to issue a <command>VACUUM</command> + query. This will update the system catalogs with the results of all + recent changes, and allow the <productname>Postgres</productname> + query optimizer to make better choices in planning user queries. + </para> + <para> + If the server crashes during a <command>VACUUM</command> command, + chances are it will leave a lock file hanging around. + Attempts to re-run the <command>VACUUM</command> command + result in an error message about the creation of a lock file. If you + are sure <command>VACUUM</command> is not running, + remove the <filename>pg_vlock</filename> file in your + database directory + (i.e. <filename><envar>PGDATA</envar>/base/dbname/pg_vlock</filename>). + </para> + </refsect2> + </refsect1> - <REFSECT2 ID="R2-SQL-VACUUM-3"> - <REFSECT2INFO> - <DATE>1998-10-04</DATE> - </REFSECT2INFO> - <TITLE> - Notes - </TITLE> - <PARA> - The open database is target for <command>VACUUM</command>. - </para> - <para> - We recommend that active production databases be cleaned nightly, in order - to keep statistics relatively current. The <command>VACUUM</command> - query may be executed at any time, however. In particular, after - copying a large class into <productname>Postgres</productname> - or after deleting a large number of - records, it may be a good idea to issue a <command>VACUUM</command> - query. This will update the system catalogs with the results of all - recent changes, and allow the <productname>Postgres</productname> - query optimizer to make better choices in planning user queries. - </para> - <para> - If the server crashes during a <command>VACUUM</command> command, - chances are it will leave a lock file hanging around. - Attempts to re-run the <command>VACUUM</command> command - result in an error message about the creation of a lock file. If you - are sure <command>VACUUM</command> is not running, - remove the <filename>pg_vlock</filename> file in your - database directory - (i.e. <filename><envar>PGDATA</envar>/base/dbname/pg_vlock</filename>). - </PARA> - - </REFSECT2> - </refsect1> + <refsect1 id="R1-SQL-VACUUM-2"> + <title> + Usage + </title> + <para> + The following is an example from running <command>VACUUM</command> on a table + in the regression database: - <REFSECT1 ID="R1-SQL-VACUUM-2"> - <TITLE> - Usage - </TITLE> - <PARA> - The following is an example from running <command>VACUUM</command> on a table - in the regression database: - - <ProgramListing> + <programlisting> regression=> vacuum verbose analyze onek; NOTICE: --Relation onek-- NOTICE: Pages 98: Changed 25, Reapped 74, Empty 0, New 0; @@ -223,24 +217,41 @@ NOTICE: Index onek_hundred: Pages 12; Tuples 1000: Deleted 1000. Elapsed 0/0 se NOTICE: Index onek_unique2: Pages 19; Tuples 1000: Deleted 1000. Elapsed 0/0 sec. NOTICE: Index onek_unique1: Pages 17; Tuples 1000: Deleted 1000. Elapsed 0/0 sec. VACUUM - </ProgramListing> - </para> - </REFSECT1> + </programlisting> + </para> + </refsect1> + + <refsect1 id="R1-SQL-VACUUM-3"> + <title> + Compatibility + </title> + <refsect2 id="R2-SQL-VACUUM-4"> + <refsect2info> + <date>1998-10-04</date> + </refsect2info> + <title> + SQL92 + </title> + <para> + There is no <command>VACUUM</command> statement in SQL92. + </para> + </refsect2> + </refsect1> +</refentry> - <REFSECT1 ID="R1-SQL-VACUUM-3"> - <TITLE> - Compatibility - </TITLE> - <REFSECT2 ID="R2-SQL-VACUUM-4"> - <REFSECT2INFO> - <DATE>1998-10-04</DATE> - </REFSECT2INFO> - <TITLE> - SQL92 - </TITLE> - <PARA> - There is no <COMMAND>VACUUM</COMMAND> statement in SQL92. - </para> - </refsect2> - </refsect1> -</REFENTRY> +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:nil +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +sgml-parent-document:nil +sgml-default-dtd-file:"../reference.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:"/usr/lib/sgml/catalog" +sgml-local-ecat-files:nil +End: +--> |