Rename --accounts-only to --globals-only, polish documentation.

This commit is contained in:
Peter Eisentraut 2000-12-19 22:12:47 +00:00
parent f824d4a363
commit 28e9e9a24e
2 changed files with 137 additions and 297 deletions

View File

@ -1,316 +1,156 @@
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_dumpall.sgml,v 1.16 2000/11/30 23:20:50 tgl Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_dumpall.sgml,v 1.17 2000/12/19 22:12:46 petere Exp $
Postgres documentation Postgres documentation
--> -->
<refentry id="APP-PGDUMPALL"> <refentry id="APP-PG-DUMPALL">
<docinfo>
<date>2000-12-19</date>
</docinfo>
<refmeta> <refmeta>
<refentrytitle id="APP-PGDUMPALL-TITLE"> <refentrytitle id="APP-PG-DUMPALL-TITLE"><application>pg_dumpall</application></refentrytitle>
<application>pg_dumpall</application> <manvolnum>1</manvolnum>
</refentrytitle>
<refmiscinfo>Application</refmiscinfo> <refmiscinfo>Application</refmiscinfo>
</refmeta> </refmeta>
<refnamediv> <refnamediv>
<refname> <refname>pg_dumpall</refname>
<application>pg_dumpall</application> <refpurpose>Extract all databases into a script file</refpurpose>
</refname>
<refpurpose>
Extract all <productname>Postgres</productname> databases into a script file
</refpurpose>
</refnamediv> </refnamediv>
<refsynopsisdiv> <refsynopsisdiv>
<refsynopsisdivinfo> <cmdsynopsis>
<date>1999-07-20</date> <command>pg_dumpall</command>
</refsynopsisdivinfo> <group><arg>-c</arg><arg>--clean</arg></group>
<synopsis> <arg>-h <replaceable>host</replaceable></arg>
pg_dumpall [ -h <replaceable class="parameter">host</replaceable> ] [ -p <replaceable class="parameter">port</replaceable> ] [ -a ] [ -d ] [ -D ] [ -O ] [ -s ] [ -u ] [ -v ] [ -x ] [ --accounts-only ] <arg>-p <replaceable>port</replaceable></arg>
</synopsis> <arg>--globals-only</arg>
</cmdsynopsis>
<refsect2 id="R2-APP-PG-DUMPALL-1">
<refsect2info>
<date>1998-10-04</date>
</refsect2info>
<title>
Inputs
</title>
<para>
<application>pg_dumpall</application> accepts the following command line arguments:
<variablelist>
<varlistentry>
<term>-a</term>
<listitem>
<para>
Dump out only the data, no schema (definitions).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-d</term>
<listitem>
<para>
Dump data as proper insert strings.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-D</term>
<listitem>
<para>
Dump data as inserts with attribute names
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-n</term>
<listitem>
<para>
Suppress double quotes around identifiers unless absolutely necessary.
This may cause trouble loading this dumped data if there are reserved words
used for identifiers.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-o</term>
<listitem>
<para>
Dump object identifiers (<acronym>OID</acronym>s) for every table.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-s</term>
<listitem>
<para>
Dump out only the schema (definitions), no data.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-u</term>
<listitem>
<para>
Use password authentication. Prompts for username and password.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-v</term>
<listitem>
<para>
Specifies verbose mode.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-x</term>
<listitem>
<para>
Prevent dumping ACLs (grant/revoke commands) and table ownership information.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--accounts-only</term>
<listitem>
<para>
Only dump user and group information, nothing else.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>
<application>pg_dumpall</application> also accepts
the following command line arguments for connection parameters:
<variablelist>
<varlistentry>
<term>-h <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>
<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. The port number defaults to 5432,
or the value of the <envar>PGPORT</envar>
environment variable (if set).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-u</term>
<listitem>
<para>
Use password authentication.
Prompts for
<replaceable class="parameter">username</replaceable>
and <replaceable class="parameter">password</replaceable>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect2>
<refsect2 id="R2-APP-PG-DUMPALL-2">
<refsect2info>
<date>1998-10-04</date>
</refsect2info>
<title>
Outputs
</title>
<para>
<application>pg_dumpall</application> will create a file or
write to <filename>stdout</filename>.
<variablelist>
<varlistentry>
<term><computeroutput>
Connection to database 'template1' failed.
connectDBStart() -- connect() failed: No such file or directory
Is the postmaster running locally
and accepting connections on Unix socket '/tmp/.s.PGSQL.5432'?
</computeroutput></term>
<listitem>
<para>
<application>pg_dumpall</application> could not attach to the
<application>postmaster</application>
process on the specified host and port. If you see this message,
ensure that the <application>postmaster</application>
is running on the proper host and that you have specified the proper
port. If your site uses an authentication system, ensure that you
have obtained the required authentication credentials.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><computeroutput>
Connection to database '<replaceable class="parameter">dbname</replaceable>' failed.
FATAL 1: SetUserId: user '<replaceable class="parameter">username</replaceable>' is not in 'pg_shadow'
</computeroutput></term>
<listitem>
<para>
You do not have a valid entry in the relation <literal>pg_shadow</literal>
and and will not be allowed to access <productname>Postgres</productname>.
Contact your <productname>Postgres</productname> administrator.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><computeroutput>
dumpSequence(<replaceable class="parameter">table</replaceable>): SELECT failed
</computeroutput></term>
<listitem>
<para>
You do not have permission to read the database.
Contact your <productname>Postgres</productname> site administrator.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
<note>
<para>
<application>pg_dumpall</application> internally executes
<command>SELECT</command> statements. If you have problems running
<application>pg_dumpall</application>,
make sure you are able to select information from the database using, for
example, <application>psql</application>.
</para>
</note>
</refsect2>
</refsynopsisdiv> </refsynopsisdiv>
<refsect1 id="R1-APP-PG-DUMPALL-1"> <refsect1 id="app-pg-dumpall-description">
<refsect1info> <title>Description</title>
<date>1998-10-04</date>
</refsect1info>
<title>
Description
</title>
<para> <para>
<application>pg_dumpall</application> <application>pg_dumpall</application> is a utility for writing out
is a utility for dumping out all Postgres databases into one file. (<quote>dumping</quote>) all Postgres databases of a cluster into
It also dumps the pg_shadow table, which is global to all databases. one script file. The script file contains SQL commands that can be
<application>pg_dumpall</application> includes in this file the proper commands used as input to <xref linkend="app-psql" endterm="app-psql-title">
to automatically create each dumped database before loading. to restore the databases. It does this by calling <xref
linkend="app-pgdump" endterm="app-pgdump-title"> 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 the information about database users and
groups.
</para> </para>
<para> <para>
<application>pg_dumpall</application> takes all <application>pg_dump</application> Thus, <application>pg_dumpall</application> is an integrated
options, but <option>-f</option>, <option>-t</option> and solution for backing up your databases.
<replaceable class="parameter">dbname</replaceable>
should be omitted.
</para> </para>
<para> <para>
Refer to Since <application>pg_dumpall</application> reads tables from all
<xref endterm="app-pgdump-title" linkend="app-pgdump-title"> databases you will most likely have to connect as a database
for more information on this capability. superuser in order to produce a complete dump. Also you will need
superuser priviledges to execute the saves script in order to be
allowed to add users and groups, and to create databases.
</para> </para>
<para>
The SQL script will be written to the standard ouput. Shell
operators should be used to redirect it into a file.
</para>
<refsect2>
<title>Options</title>
<para>
<application>pg_dumpall</application> accepts the following
command line arguments:
<variablelist>
<varlistentry>
<term>-h <replaceable>host</replaceable></term>
<listitem>
<para>
Specifies the hostname of the machine on which the database
server is running. If host begins with a slash, it is used as
the directory for the Unix domain socket. The default is
taken from the <envar>PGHOST</envar> environment variable, if
set, else a Unix domain socket connection is attempted.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-p <replaceable>port</replaceable></term>
<listitem>
<para>
The port number on which the server is listening. Defaults to
the <envar>PGPORT</envar> environment variable, if set, or a
compiled-in default.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--globals-only</term>
<listitem>
<para>
Only dump global objects (users and groups), no databases.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>
Any other command line parameters are passed to the underlying
<xref endterm="app-pgdump-title" linkend="app-pgdump-title">
calls. This is useful to control some aspects of the output
format, but some options such as <option>-f</option>,
<option>-t</option>, and <replaceable
class="parameter">dbname</replaceable> should be avoided.
</para>
</refsect2>
</refsect1> </refsect1>
<refsect1 id="R1-APP-PG-DUMPALL-2"> <refsect1 id="app-pg-dumpall-usage">
<refsect1info> <title>Usage</title>
<date>1998-10-04</date>
</refsect1info>
<title>
Usage
</title>
<para> <para>
To dump all databases: To dump all databases:
<programlisting> <screen>
$ pg_dumpall > db.out <prompt>$</prompt> <userinput>pg_dumpall &gt; db.out</userinput>
</programlisting> </screen>
<tip>
<para>
You can use most <application>pg_dump</application> options
for <application>pg_dumpall</application>.
</para>
</tip>
</para> </para>
<para> <para>
To reload this database: To reload this database use, for example:
<screen>
<programlisting> <prompt>$</prompt> <userinput>psql -f db.out template1</userinput>
$ psql -e template1 < db.out </screen>
</programlisting> (It is not important to which database you connect here since the
script file created by <application>pg_dumpall</application> will
contain the appropriate commands to create and connect to the saved
databases.
</para> </para>
<tip>
<para>
You can use most <application>psql</application> options
when reloading.
</para>
</tip>
</refsect1> </refsect1>
<refsect1>
<title>See Also</title>
<para>
<xref linkend="app-pgdump" endterm="app-pgdump-title">, <xref
linkend="app-psql" endterm="app-psql-title">. Check there for
details on possible error conditions.
</para>
</refsect1>
</refentry> </refentry>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file

View File

@ -6,7 +6,7 @@
# and "pg_group" tables, which belong to the whole installation rather # and "pg_group" tables, which belong to the whole installation rather
# than any one individual database. # than any one individual database.
# #
# $Header: /cvsroot/pgsql/src/bin/pg_dump/Attic/pg_dumpall.sh,v 1.8 2000/11/14 18:37:46 tgl Exp $ # $Header: /cvsroot/pgsql/src/bin/pg_dump/Attic/pg_dumpall.sh,v 1.9 2000/12/19 22:12:47 petere Exp $
CMDNAME=`basename $0` CMDNAME=`basename $0`
@ -72,7 +72,7 @@ fi
usage= usage=
cleanschema= cleanschema=
accounts_only= globals_only=
# #
# Scan options. We're interested in the -h (host), -p (port), and -c (clean) options. # Scan options. We're interested in the -h (host), -p (port), and -c (clean) options.
@ -110,8 +110,8 @@ while [ $# -gt 0 ] ; do
cleanschema=yes cleanschema=yes
pgdumpextraopts="$pgdumpextraopts -c" pgdumpextraopts="$pgdumpextraopts -c"
;; ;;
--accounts-only) --globals-only)
accounts_only=yes globals_only=yes
;; ;;
*) *)
pgdumpextraopts="$pgdumpextraopts $1" pgdumpextraopts="$pgdumpextraopts $1"
@ -122,16 +122,16 @@ done
if [ "$usage" ] ; then if [ "$usage" ] ; then
echo "$CMDNAME dumps a PostgreSQL database cluster." echo "$CMDNAME extracts a PostgreSQL database cluster into an SQL script file."
echo echo
echo "Usage:" echo "Usage:"
echo " $CMDNAME [ -c ] [ -h host ] [ -p port ] [ --accounts-only ]" echo " $CMDNAME [ -c ] [ -h HOSTNAME ] [ -p PORT ] [ --globals-only ]"
echo echo
echo "Options:" echo "Options:"
echo " -c, --clean clean (drop) schema prior to create" echo " -c, --clean Clean (drop) schema prior to create"
echo " -h, --host <hostname> server host name" echo " -h, --host=HOSTNAME Server host name"
echo " -p, --port <port> server port number" echo " -p, --port=PORT Server port number"
echo " --accounts-only only dump users and groups" echo " --globals-only Only dump global objects, no databases"
echo "Any extra options will be passed to pg_dump." echo "Any extra options will be passed to pg_dump."
echo echo
echo "Report bugs to <pgsql-bugs@postgresql.org>." echo "Report bugs to <pgsql-bugs@postgresql.org>."
@ -184,7 +184,7 @@ while read GRONAME GROSYSID GROLIST ; do
done done
test "$accounts_only" = yes && exit 0 test "$globals_only" = yes && exit 0
# For each database, run pg_dump to dump the contents of that database. # For each database, run pg_dump to dump the contents of that database.