# and "pg_group" tables, which belong to the whole installation rather
# than any one individual database.
#
-# $Header: /cvsroot/pgsql/src/bin/pg_dump/Attic/pg_dumpall.sh,v 1.16 2002/02/24 21:57:23 tgl Exp $
+# $Header: /cvsroot/pgsql/src/bin/pg_dump/Attic/pg_dumpall.sh,v 1.17 2002/04/11 04:56:21 momjian Exp $
-CMDNAME=`basename $0`
+CMDNAME="`basename $0`"
# substituted at build
VERSION='@VERSION@'
PGPATH=
if echo "$0" | grep '/' > /dev/null 2>&1 ; then
# explicit dir name given
- PGPATH=`echo $0 | sed 's,/[^/]*$,,'` # (dirname command is not portable)
+ PGPATH=`echo "$0" | sed 's,/[^/]*$,,'` # (dirname command is not portable)
else
# look for it in PATH ('which' command is not portable)
for dir in `echo "$PATH" | sed 's/:/ /g'` ; do
while [ "$#" -gt 0 ] ; do
- case $1 in
+ case "$1" in
--help)
usage=t
break
connectopts="$connectopts $1"
;;
--host=*)
- connectopts="$connectopts -h "`echo $1 | sed 's/^--host=//'`
+ connectopts="$connectopts -h `echo $1 | sed 's/^--host=//'`"
;;
--port|-p)
connectopts="$connectopts -p $2"
connectopts="$connectopts $1"
;;
--port=*)
- connectopts="$connectopts -p "`echo $1 | sed 's/^--port=//'`
+ connectopts="$connectopts -p `echo $1 | sed 's/^--port=//'`"
;;
--user|--username|-U)
connectopts="$connectopts -U $2"
connectopts="$connectopts $1"
;;
--user=*|--username=*)
- connectopts="$connectopts -U "`echo $1 | sed 's/^--user[^=]*=//'`
+ connectopts="$connectopts -U `echo $1 | sed 's/^--user[^=]*=//'`"
;;
-W|--password)
connectopts="$connectopts -W"
-g|--globals-only)
globals_only=yes
;;
+ -F*|--format=*|-f|--file=*|-t|--table=*)
+ echo "pg_dump can not process option $1, exiting" 1>&2
+ exit 1
+ ;;
*)
pgdumpextraopts="$pgdumpextraopts $1"
;;
# We skip databases marked not datallowconn, since we'd be unable to
# connect to them anyway (and besides, we don't want to dump template0).
-DATABASES=""
-
$PSQL -d template1 -At -F ' ' \
-c "SELECT datname, coalesce(usename, (select usename from pg_shadow where usesysid=(select datdba from pg_database where datname='template0'))), pg_encoding_to_char(d.encoding), datistemplate, datpath FROM pg_database d LEFT JOIN pg_shadow u ON (datdba = usesysid) WHERE datallowconn ORDER BY 1;" | \
while read DATABASE DBOWNER ENCODING ISTEMPLATE DBPATH; do
- DATABASES="$DATABASES $DATABASE"
if [ "$DATABASE" != template1 ] ; then
echo
fi
done
-for DATABASE in $DATABASES; do
+$PSQL -d template1 -At -F ' ' \
+ -c "SELECT datname FROM pg_database WHERE datallowconn ORDER BY 1;" | \
+while read DATABASE; do
echo "dumping database \"$DATABASE\"..." 1>&2
echo
echo "--"