postgresql/doc/src/sgml/ref/vacuumdb.sgml
2001-03-17 16:27:31 +00:00

298 lines
8.0 KiB
Plaintext

<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/vacuumdb.sgml,v 1.16 2001/03/17 16:27:31 petere Exp $
Postgres documentation
-->
<refentry id="APP-VACUUMDB">
<docinfo>
<date>2000-11-11</date>
</docinfo>
<refmeta>
<refentrytitle id="APP-VACUUMDB-TITLE"><application>vacuumdb</application></refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo>Application</refmiscinfo>
</refmeta>
<refnamediv>
<refname id="vacuumdb">vacuumdb</refname>
<refpurpose>Clean and analyze a <productname>Postgres</productname> database</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>vacuumdb</command>
<arg rep="repeat"><replaceable>connection-options</replaceable></arg>
<arg><arg>-d</arg> <replaceable>dbname</replaceable></arg>
<group><arg>--analyze</arg><arg>-z</arg></group>
<group><arg>--verbose</arg><arg>-v</arg></group>
<arg>--table '<replaceable>table</replaceable>
<arg>( <replaceable class="parameter">column</replaceable> [,...] )</arg>'
</arg>
<sbr>
<command>vacuumdb</command>
<arg rep="repeat"><replaceable>connection-options</replaceable></arg>
<group><arg>--all</arg><arg>-a</arg></group>
<group><arg>--analyze</arg><arg>-z</arg></group>
<group><arg>--verbose</arg><arg>-v</arg></group>
</cmdsynopsis>
<refsect2 id="R2-APP-VACUUMDB-1">
<title>
Inputs
</title>
<para>
<application>vacuumdb</application> accepts the following command line arguments:
<variablelist>
<varlistentry>
<term>-d <replaceable class="parameter">dbname</replaceable></term>
<term>--dbname <replaceable class="parameter">dbname</replaceable></term>
<listitem>
<para>
Specifies the name of the database to be cleaned or analyzed.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-z</term>
<term>--analyze</term>
<listitem>
<para>
Calculate statistics on the database for use by the optimizer.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-a</term>
<term>--alldb</term>
<listitem>
<para>
Vacuum all databases.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-v</term>
<term>--verbose</term>
<listitem>
<para>
Print detailed information during processing.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-t <replaceable class="parameter">table</replaceable> [ (<replaceable class="parameter">column</replaceable> [,...]) ]</term>
<term>--table <replaceable class="parameter">table</replaceable> [ (<replaceable class="parameter">column</replaceable> [,...]) ]</term>
<listitem>
<para>
Clean or analyze <replaceable class="parameter">table</replaceable> only.
Column names may be specified only in conjunction with
the <option>--analyze</option> option.
</para>
<tip>
<para>
If you specify columns to vacuum, you probably have to escape the parentheses
from the shell.
</para>
</tip>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>
<application>vacuumdb</application> also accepts
the following command line arguments for connection parameters:
<variablelist>
<varlistentry>
<term>-h <replaceable class="parameter">host</replaceable></term>
<term>--host <replaceable class="parameter">host</replaceable></term>
<listitem>
<para>
Specifies the hostname of the machine on which the
<application>postmaster</application>
is running. If host begins with a slash, it is used
as the directory for the unix domain socket.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-p <replaceable class="parameter">port</replaceable></term>
<term>--port <replaceable class="parameter">port</replaceable></term>
<listitem>
<para>
Specifies the Internet TCP/IP port or local Unix domain socket file
extension on which the <application>postmaster</application>
is listening for connections.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-U <replaceable class="parameter">username</replaceable></term>
<term>--username <replaceable class="parameter">username</replaceable></term>
<listitem>
<para>
Username to connect as.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-W</term>
<term>--password</term>
<listitem>
<para>
Force password prompt.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-e</term>
<term>--echo</term>
<listitem>
<para>
Echo the commands that <application>vacuumdb</application> generates
and sends to the backend.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-q</term>
<term>--quiet</term>
<listitem>
<para>
Do not display a response.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect2>
<refsect2 id="R2-APP-VACUUMDB-2">
<title>
Outputs
</title>
<para>
<variablelist>
<varlistentry>
<term><computeroutput>VACUUM</computeroutput></term>
<listitem>
<para>
Everything went well.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><computeroutput>vacuumdb: Vacuum failed.</computeroutput></term>
<listitem>
<para>
Something went wrong. <application>vacuumdb</application> is only a wrapper
script. See <xref linkend="SQL-VACUUM" endterm="SQL-VACUUM-title">
and <xref linkend="APP-PSQL"> for a detailed
discussion of error messages and potential problems.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>
</para>
</refsect2>
</refsynopsisdiv>
<refsect1 id="R1-APP-VACUUMDB-1">
<title>
Description
</title>
<para>
<application>vacuumdb</application> is a utility for cleaning a
<productname>Postgres</productname> database.
<application>vacuumdb</application> will also generate internal statistics
used by the <productname>Postgres</productname> query optimizer.
</para>
<para>
<application>vacuumdb</application> is a shell script wrapper around the
backend command
<xref linkend="SQL-VACUUM" endterm="SQL-VACUUM-title"> via
the <productname>Postgres</productname> interactive terminal
<xref linkend="APP-PSQL">. There is no effective
difference between vacuuming databases via this or other methods.
<application>psql</application> must be found by the script and
a database server must be running at the targeted host. Also, any default
settings and environment variables available to <application>psql</application>
and the <application>libpq</application> front-end library do apply.
</para>
</refsect1>
<refsect1 id="R1-APP-VACUUMDB-3">
<title>Usage</title>
<informalexample>
<para>
To clean the database <literal>test</literal>:
<screen>
<prompt>$ </prompt><userinput>vacuumdb test</userinput>
</screen>
</para>
</informalexample>
<informalexample>
<para>
To analyze for the optimzer a database named
<literal>bigdb</literal>:
<screen>
<prompt>$ </prompt><userinput>vacuumdb --analyze bigdb</userinput>
</screen>
</para>
</informalexample>
<informalexample>
<para>
To analyze a single column <literal>bar</literal> in table
<literal>foo</literal> in a database named
<literal>xyzzy</literal> for the optimizer:
<screen>
<prompt>$ </prompt><userinput>vacuumdb --analyze --verbose --table 'foo(bar)' xyzzy</userinput>
</screen>
</para>
</informalexample>
</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:
-->