pg_dumpall.sgml

来自「postgresql8.3.4源码,开源数据库」· SGML 代码 · 共 490 行 · 第 1/2 页

SGML
490
字号
<!--$PostgreSQL: pgsql/doc/src/sgml/ref/pg_dumpall.sgml,v 1.69 2007/12/11 19:57:32 tgl Exp $PostgreSQL documentation--><refentry id="APP-PG-DUMPALL"> <refmeta>  <refentrytitle id="APP-PG-DUMPALL-TITLE"><application>pg_dumpall</application></refentrytitle>  <manvolnum>1</manvolnum>  <refmiscinfo>Application</refmiscinfo> </refmeta> <refnamediv>  <refname>pg_dumpall</refname>  <refpurpose>extract a <productname>PostgreSQL</productname> database cluster into a script file</refpurpose> </refnamediv> <indexterm zone="app-pg-dumpall">  <primary>pg_dumpall</primary> </indexterm> <refsynopsisdiv>  <cmdsynopsis>   <command>pg_dumpall</command>   <arg rep="repeat"><replaceable>option</replaceable></arg>  </cmdsynopsis> </refsynopsisdiv> <refsect1 id="app-pg-dumpall-description">  <title>Description</title>  <para>   <application>pg_dumpall</application> is a utility for writing out   (<quote>dumping</quote>) all <productname>PostgreSQL</> databases   of a cluster into one script file.  The script file contains   <acronym>SQL</acronym> commands that can be used as input to <xref   linkend="app-psql"> to restore the databases.  It does this by   calling <xref linkend="app-pgdump"> for each database in a cluster.   <application>pg_dumpall</application> also dumps global objects   that are common to all databases.   (<application>pg_dump</application> does not save these objects.)   This currently includes information about database users and   groups, and access permissions that apply to databases as a whole.  </para>  <para>   Since <application>pg_dumpall</application> reads tables from all   databases you will most likely have to connect as a database   superuser in order to produce a complete dump.  Also you will need   superuser privileges to execute the saved script in order to be   allowed to add users and groups, and to create databases.  </para>  <para>   The SQL script will be written to the standard output.  Shell   operators should be used to redirect it into a file.  </para>  <para>  <application>pg_dumpall</application> needs to connect several  times to the <productname>PostgreSQL</productname> server (once per  database).  If you use password authentication it will ask for  a password each time. It is convenient to have a  <filename>~/.pgpass</> file in such cases. See <xref  linkend="libpq-pgpass"> for more information.  </para> </refsect1> <refsect1>  <title>Options</title>   <para>    The following command-line options control the content and    format of the output.    <variablelist>     <varlistentry>      <term><option>-a</></term>      <term><option>--data-only</></term>      <listitem>       <para>        Dump only the data, not the schema (data definitions).       </para>      </listitem>     </varlistentry>     <varlistentry>      <term><option>-c</option></term>      <term><option>--clean</option></term>      <listitem>       <para>        Include SQL commands to clean (drop) databases before        recreating them.  <command>DROP</> commands for roles and        tablespaces are added as well.       </para>      </listitem>     </varlistentry>     <varlistentry>      <term><option>-d</option></term>      <term><option>--inserts</option></term>      <listitem>       <para>        Dump data as <command>INSERT</command> commands (rather        than <command>COPY</command>).  This will make restoration very slow;        it is mainly useful for making dumps that can be loaded into        non-<productname>PostgreSQL</productname> databases.  Note that        the restore might fail altogether if you have rearranged column order.        The <option>-D</option> option is safer, though even slower.       </para>      </listitem>     </varlistentry>     <varlistentry>      <term><option>-D</option></term>      <term><option>--column-inserts</option></term>      <term><option>--attribute-inserts</option></term>      <listitem>       <para>        Dump data as <command>INSERT</command> commands with explicit        column names (<literal>INSERT INTO        <replaceable>table</replaceable>        (<replaceable>column</replaceable>, ...) VALUES        ...</literal>).  This will make restoration very slow; it is mainly        useful for making dumps that can be loaded into        non-<productname>PostgreSQL</productname> databases.       </para>      </listitem>     </varlistentry>      <varlistentry>      <term><option>-f <replaceable class="parameter">filename</replaceable></option></term>      <term><option>--file=<replaceable class="parameter">filename</replaceable></option></term>      <listitem>       <para>        Send output to the specified file.  If this is omitted, the        standard output is used.       </para>      </listitem>     </varlistentry>     <varlistentry>      <term><option>-g</option></term>      <term><option>--globals-only</option></term>      <listitem>       <para>        Dump only global objects (roles and tablespaces), no databases.       </para>      </listitem>     </varlistentry>     <varlistentry>      <term><option>-i</></term>      <term><option>--ignore-version</></term>      <listitem>       <para>        Ignore version mismatch between        <application>pg_dumpall</application> and the database server.       </para>       <para>        <application>pg_dumpall</application> can handle databases        from previous releases of <productname>PostgreSQL</>, but very        old versions are not supported anymore (currently prior to        7.0).  Use this option if you need to override the version        check (and if <application>pg_dumpall</application> then        fails, don't say you weren't warned).       </para>      </listitem>     </varlistentry>     <varlistentry>      <term><option>-o</></term>      <term><option>--oids</></term>      <listitem>       <para>        Dump object identifiers (<acronym>OID</acronym>s) as part of the        data for every table.  Use this option if your application references        the <acronym>OID</>        columns in some way (e.g., in a foreign key constraint).        Otherwise, this option should not be used.       </para>      </listitem>     </varlistentry>     <varlistentry>      <term><option>-O</></term>      <term><option>--no-owner</option></term>      <listitem>       <para>        Do not output commands to set        ownership of objects to match the original database.        By default, <application>pg_dumpall</application> issues        <command>ALTER OWNER</> or         <command>SET SESSION AUTHORIZATION</command>        statements to set ownership of created schema elements.        These statements        will fail when the script is run unless it is started by a superuser        (or the same user that owns all of the objects in the script).        To make a script that can be restored by any user, but will give        that user ownership of all the objects, specify <option>-O</>.       </para>      </listitem>     </varlistentry>     <varlistentry>      <term><option>-r</option></term>      <term><option>--roles-only</option></term>      <listitem>       <para>        Dump only roles, no databases or tablespaces.       </para>      </listitem>     </varlistentry>     <varlistentry>      <term><option>-s</option></term>      <term><option>--schema-only</option></term>      <listitem>       <para>        Dump only the object definitions (schema), not data.       </para>      </listitem>     </varlistentry>     <varlistentry>      <term><option>-S <replaceable class="parameter">username</replaceable></option></term>      <term><option>--superuser=<replaceable class="parameter">username</replaceable></option></term>      <listitem>       <para>        Specify the superuser user name to use when disabling triggers.        This is only relevant if <option>--disable-triggers</> is used.        (Usually, it's better to leave this out, and instead start the        resulting script as superuser.)       </para>      </listitem>     </varlistentry>     <varlistentry>      <term><option>-t</option></term>      <term><option>--tablespaces-only</option></term>      <listitem>       <para>        Dump only tablespaces, no databases or roles.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?