summaryrefslogtreecommitdiff
path: root/src/bin/scripts
diff options
context:
space:
mode:
authorPeter Eisentraut2000-01-19 20:08:36 +0000
committerPeter Eisentraut2000-01-19 20:08:36 +0000
commit65e00518431652be36cfa676a3e216315e4dd659 (patch)
tree46b69f69ee3a557bff33c29a22f2c14b92286bc9 /src/bin/scripts
parentea1f6e00e65ad9b519379a2b3dcdcbf5414c22de (diff)
another round of user interface cleanups
removed pg_id fixed a few bugs in the scripts
Diffstat (limited to 'src/bin/scripts')
-rw-r--r--src/bin/scripts/createdb30
-rw-r--r--src/bin/scripts/createlang.sh56
-rw-r--r--src/bin/scripts/createuser28
-rw-r--r--src/bin/scripts/dropdb29
-rw-r--r--src/bin/scripts/droplang43
-rw-r--r--src/bin/scripts/dropuser33
-rw-r--r--src/bin/scripts/vacuumdb47
7 files changed, 136 insertions, 130 deletions
diff --git a/src/bin/scripts/createdb b/src/bin/scripts/createdb
index 490edb196e5..3fba2ae0e59 100644
--- a/src/bin/scripts/createdb
+++ b/src/bin/scripts/createdb
@@ -11,11 +11,12 @@
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createdb,v 1.6 2000/01/12 19:36:36 petere Exp $
+# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createdb,v 1.7 2000/01/19 20:08:35 petere Exp $
#
#-------------------------------------------------------------------------
CMDNAME=`basename $0`
+PATHNAME=`echo $0 | sed "s,$CMDNAME\$,,"`
MB=
PSQLOPT=
@@ -49,15 +50,12 @@ do
--port=*)
PSQLOPT="$PSQLOPT -p "`echo $1 | sed 's/^--port=//'`
;;
- --user|--username|-U)
- PSQLOPT="$PSQLOPT -U '$2'"
+ --username|-U)
+ PSQLOPT="$PSQLOPT -U $2"
shift;;
-U*)
PSQLOPT="$PSQLOPT $1"
;;
- --user=*)
- PSQLOPT="$PSQLOPT -U "`echo $1 | sed 's/^--user=//'`
- ;;
--username=*)
PSQLOPT="$PSQLOPT -U "`echo $1 | sed 's/^--username=//'`
;;
@@ -90,7 +88,7 @@ do
MB=`echo $1 | sed 's/^--encoding=//'`
;;
-*)
- echo "$CMDNAME: unrecognized option: $1"
+ echo "$CMDNAME: invalid option: $1"
echo "Try -? for help."
exit 1
;;
@@ -106,16 +104,22 @@ do
done
if [ "$usage" ]; then
- echo "Usage: $CMDNAME [options] dbname [description]"
- echo ""
+ echo "$CMDNAME creates a PostgreSQL database."
+ echo
+ echo "Usage:"
+ echo " $CMDNAME [options] dbname [description]"
+ echo
+ echo "Options:"
echo " -D, --location=PATH Alternative place to store the database"
echo " -E, --encoding=ENCODING Multibyte encoding for the database"
echo " -h, --host=HOSTNAME Database server host"
echo " -p, --port=PORT Database server port"
echo " -U, --username=USERNAME Username to connect as"
echo " -W, --password Prompt for password"
-#??? echo " -e, --echo "
- echo " -q, --quiet Don't write any messages"
+ echo " -e, --echo Show the query being sent to the backend"
+ echo " -q, --quiet Don't write any messages"
+ echo
+ echo "Report bugs to <pgsql-bugs@postgresql.org>."
exit 0
fi
@@ -146,7 +150,7 @@ withstring=
[ "$MB" ] && withstring="$withstring ENCODING = '$MB'"
[ "$withstring" ] && withstring=" WITH$withstring"
-psql $PSQLOPT -d template1 -c "CREATE DATABASE \"$dbname\"$withstring"
+${PATHNAME}psql $PSQLOPT -d template1 -c "CREATE DATABASE \"$dbname\"$withstring"
if [ $? -ne 0 ]; then
echo "$CMDNAME: database creation failed"
exit 1
@@ -157,7 +161,7 @@ fi
dbcomment=`echo $dbcomment | sed "s/'/\\\\\'/g"`
-psql $PSQLOPT -d template1 -c "COMMENT ON DATABASE \"$dbname\" IS '$dbcomment'"
+${PATHNAME}psql $PSQLOPT -d template1 -c "COMMENT ON DATABASE \"$dbname\" IS '$dbcomment'"
if [ $? -ne 0 ]; then
echo "$CMDNAME: comment creation failed (database was created)"
exit 1
diff --git a/src/bin/scripts/createlang.sh b/src/bin/scripts/createlang.sh
index 404a8bd53a7..b789196652f 100644
--- a/src/bin/scripts/createlang.sh
+++ b/src/bin/scripts/createlang.sh
@@ -8,16 +8,16 @@
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createlang.sh,v 1.5 2000/01/12 19:36:36 petere Exp $
+# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createlang.sh,v 1.6 2000/01/19 20:08:35 petere Exp $
#
#-------------------------------------------------------------------------
CMDNAME=`basename $0`
+PATHNAME=`echo $0 | sed "s,$CMDNAME\$,,"`
PSQLOPT=
dbname=
langname=
-echo=
list=
# Check for echo -n vs echo \c
@@ -65,25 +65,19 @@ do
--port=*)
PSQLOPT="$PSQLOPT -p "`echo $1 | sed 's/^--port=//'`
;;
- --user|--username|-U)
- PSQLOPT="$PSQLOPT -U '$2'"
+ --username|-U)
+ PSQLOPT="$PSQLOPT -U $2"
shift;;
-U*)
PSQLOPT="$PSQLOPT $1"
;;
- --user=*)
- PSQLOPT="$PSQLOPT -U "`echo $1 | sed 's/^--user=//'`
- ;;
--username=*)
PSQLOPT="$PSQLOPT -U "`echo $1 | sed 's/^--username=//'`
;;
--password|-W)
PSQLOPT="$PSQLOPT -W"
;;
- --echo|-e)
- echo=t
- ;;
- --dbname|--database|-d)
+ --dbname|-d)
dbname="$2"
shift;;
-d*)
@@ -92,9 +86,6 @@ do
--dbname=*)
dbname=`echo $1 | sed 's/^--dbname=//'`
;;
- --database=*)
- dbname=`echo $1 | sed 's/^--database=//'`
- ;;
# misc options
--pglib|-L)
PGLIB="$2"
@@ -107,7 +98,7 @@ do
;;
-*)
- echo "$CMDNAME: unrecognized option: $1"
+ echo "$CMDNAME: invalid option: $1"
echo "Try -? for help."
exit 1
;;
@@ -123,25 +114,24 @@ do
done
if [ "$usage" ]; then
- echo ""
- echo "Usage: $CMDNAME [options] [langname [dbname]]"
- echo ""
+ echo "$CMDNAME installs a procedural language into a PostgreSQL database."
+ echo
+ echo "Usage:"
+ echo " $CMDNAME [options] [langname [dbname]]"
+ echo
+ echo "Options:"
echo " -h, --host=HOSTNAME Database server host"
echo " -p, --port=PORT Database server port"
echo " -U, --username=USERNAME Username to connect as"
echo " -W, --password Prompt for password"
echo " -d, --dbname=DBNAME Database to install language in"
- echo " -e, --echo Create some output about what is happening"
echo " -L, --pglib=PGLIB Find language interpreter in directory PGLIB"
echo " -l, --list Show a list of currently installed languages"
+ echo
+ echo "Report bugs to <pgsql-bugs@postgresql.org>."
exit 0
fi
-if [ "$list" ]; then
- psql $PSQLOPT -d "$dbname" -c "SELECT lanname, lanpltrusted, lancompiler FROM pg_language WHERE lanispl = 't'"
- exit $?
-fi
-
# ----------
# Check that we have a database
@@ -154,6 +144,15 @@ fi
# ----------
+# List option
+# ----------
+if [ "$list" ]; then
+ ${PATHNAME}psql $PSQLOPT -d "$dbname" -P 'title=Procedural languages' -c "SELECT lanname as \"Name\", lanpltrusted as \"Trusted?\", lancompiler as \"Compiler\" FROM pg_language WHERE lanispl = 't'"
+ exit $?
+fi
+
+
+# ----------
# Check that we have PGLIB
# ----------
if [ -z "$PGLIB" ]; then
@@ -210,13 +209,7 @@ if [ ! -f $PGLIB/${langname}__DLSUFFIX__ ]; then
fi
-if [ "$echo" ]; then
- PSQLOPT="$PSQLOPT -e"
-else
- PSQLOPT="$PSQLOPT -q"
-fi
-
-PSQL="psql -A -t $PSQLOPT -d $dbname -c"
+PSQL="${PATHNAME}psql -A -t -q $PSQLOPT -d $dbname -c"
# ----------
# Make sure the language isn't already installed
@@ -254,4 +247,5 @@ if [ $? -ne 0 ]; then
exit 1
fi
+echo "Ok"
exit 0
diff --git a/src/bin/scripts/createuser b/src/bin/scripts/createuser
index bb1aabba3ef..4f717c8cb63 100644
--- a/src/bin/scripts/createuser
+++ b/src/bin/scripts/createuser
@@ -8,13 +8,14 @@
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createuser,v 1.7 2000/01/19 02:59:01 petere Exp $
+# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createuser,v 1.8 2000/01/19 20:08:36 petere Exp $
#
# Note - this should NOT be setuid.
#
#-------------------------------------------------------------------------
CMDNAME=`basename $0`
+PATHNAME=`echo $0 | sed "s,$CMDNAME\$,,"`
NewUser=
SysID=
@@ -64,15 +65,12 @@ do
;;
# Note: These two specify the user to connect as (like in psql),
# not the user you're creating.
- --user|--username|-U)
- PSQLOPT="$PSQLOPT -U '$2'"
+ --username|-U)
+ PSQLOPT="$PSQLOPT -U $2"
shift;;
-U*)
PSQLOPT="$PSQLOPT $1"
;;
- --user=*)
- PSQLOPT="$PSQLOPT -U "`echo $1 | sed 's/^--user=//'`
- ;;
--username=*)
PSQLOPT="$PSQLOPT -U "`echo $1 | sed 's/^--username=//'`
;;
@@ -111,7 +109,7 @@ do
PwPrompt=t
;;
-*)
- echo "$CMDNAME: unrecognized option: $1"
+ echo "$CMDNAME: invalid option: $1"
echo "Try -? for help."
exit 1
;;
@@ -123,8 +121,12 @@ do
done
if [ "$usage" ]; then
- echo "Usage: $CMDNAME [options] [username]"
- echo ""
+ echo "$CMDNAME creates a new PostgreSQL user."
+ echo
+ echo "Usage:"
+ echo " $CMDNAME [options] [username]"
+ echo
+ echo "Options:"
echo " -d, --createdb User can create new databases"
echo " -D, --no-createdb User cannot create databases"
echo " -a, --adduser User can add new users"
@@ -135,8 +137,10 @@ if [ "$usage" ]; then
echo " -p, --port=PORT Database server port"
echo " -U, --username=USERNAME Username to connect as (not the one to create)"
echo " -W, --password Prompt for password to connect"
-#??? echo " -e, --echo "
- echo " -q, --quiet Don't write any messages"
+ echo " -e, --echo Show the query being sent to the backend"
+ echo " -q, --quiet Don't write any messages"
+ echo
+ echo "Report bugs to <pgsql-bugs@postgresql.org>."
exit 0
fi
@@ -219,7 +223,7 @@ SUBQUERY=
[ "$CanAddUser" = t ] && QUERY="$QUERY CREATEUSER"
[ "$CanAddUser" = f ] && QUERY="$QUERY NOCREATEUSER"
-psql $PSQLOPT -d template1 -c "$QUERY"
+${PATHNAME}psql -c "$QUERY" -d template1 $PSQLOPT
if [ $? -ne 0 ]; then
echo "$CMDNAME: creation of user \"$NewUser\" failed"
exit 1
diff --git a/src/bin/scripts/dropdb b/src/bin/scripts/dropdb
index a8396103170..65c8542e897 100644
--- a/src/bin/scripts/dropdb
+++ b/src/bin/scripts/dropdb
@@ -10,11 +10,12 @@
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/dropdb,v 1.5 2000/01/12 19:36:36 petere Exp $
+# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/dropdb,v 1.6 2000/01/19 20:08:36 petere Exp $
#
#-------------------------------------------------------------------------
CMDNAME=`basename $0`
+PATHNAME=`echo $0 | sed "s,$CMDNAME\$,,"`
PSQLOPT=
dbname=
@@ -58,15 +59,12 @@ do
--port=*)
PSQLOPT="$PSQLOPT -p "`echo $1 | sed 's/^--port=//'`
;;
- --user|--username|-U)
- PSQLOPT="$PSQLOPT -U '$2'"
+ --username|-U)
+ PSQLOPT="$PSQLOPT -U $2"
shift;;
-U*)
PSQLOPT="$PSQLOPT $1"
;;
- --user=*)
- PSQLOPT="$PSQLOPT -U "`echo $1 | sed 's/^--user=//'`
- ;;
--username=*)
PSQLOPT="$PSQLOPT -U "`echo $1 | sed 's/^--username=//'`
;;
@@ -84,7 +82,8 @@ do
forcedel=f
;;
-*)
- echo "$CMDNAME: Unrecognized option: $1. Try -? for help."
+ echo "$CMDNAME: invalid option: $1"
+ echo "Try -? for help."
exit 1
;;
*)
@@ -96,15 +95,21 @@ done
if [ "$usage" ]; then
- echo "Usage: $CMDNAME [options] dbname"
- echo ""
+ echo "$CMDNAME removes a PostgreSQL database."
+ echo
+ echo "Usage:"
+ echo " $CMDNAME [options] dbname"
+ echo
+ echo "Options:"
echo " -h, --host=HOSTNAME Database server host"
echo " -p, --port=PORT Database server port"
echo " -U, --username=USERNAME Username to connect as"
echo " -W, --password Prompt for password"
echo " -i, --interactive Prompt before deleting anything"
-#??? echo " -e, --echo "
- echo " -q, --quiet Don't write any messages"
+ echo " -e, --echo Show the query being sent to the backend"
+ echo " -q, --quiet Don't write any messages"
+ echo
+ echo "Report bugs to <pgsql-bugs@postgresql.org>."
exit 0
fi
@@ -127,7 +132,7 @@ fi
dbname=`echo $dbname | sed 's/\"/\\\"/g'`
-psql $PSQLOPT -d template1 -c "DROP DATABASE \"$dbname\""
+${PATHNAME}psql $PSQLOPT -d template1 -c "DROP DATABASE \"$dbname\""
if [ $? -ne 0 ]; then
echo "$CMDNAME: database removal failed"
exit 1
diff --git a/src/bin/scripts/droplang b/src/bin/scripts/droplang
index a6b6efd3631..cd6563aeef3 100644
--- a/src/bin/scripts/droplang
+++ b/src/bin/scripts/droplang
@@ -8,11 +8,12 @@
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/droplang,v 1.5 2000/01/12 19:36:36 petere Exp $
+# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/droplang,v 1.6 2000/01/19 20:08:36 petere Exp $
#
#-------------------------------------------------------------------------
CMDNAME=`basename $0`
+PATHNAME=`echo $0 | sed "s,$CMDNAME\$,,"`
PSQLOPT=
dbname=
@@ -64,25 +65,19 @@ do
--port=*)
PSQLOPT="$PSQLOPT -p "`echo $1 | sed 's/^--port=//'`
;;
- --user|--username|-U)
- PSQLOPT="$PSQLOPT -U '$2'"
+ --username|-U)
+ PSQLOPT="$PSQLOPT -U $2"
shift;;
-U*)
PSQLOPT="$PSQLOPT $1"
;;
- --user=*)
- PSQLOPT="$PSQLOPT -U "`echo $1 | sed 's/^--user=//'`
- ;;
--username=*)
PSQLOPT="$PSQLOPT -U "`echo $1 | sed 's/^--username=//'`
;;
--password|-W)
PSQLOPT="$PSQLOPT -W"
;;
- --echo|-e)
- echo=t
- ;;
- --dbname|--database|-d)
+ --dbname|-d)
dbname="$2"
shift;;
-d*)
@@ -91,12 +86,9 @@ do
--dbname=*)
dbname=`echo $1 | sed 's/^--dbname=//'`
;;
- --database=*)
- dbname=`echo $1 | sed 's/^--database=//'`
- ;;
-*)
- echo "$CMDNAME: unrecognized option: $1"
+ echo "$CMDNAME: invalid option: $1"
echo "Try -? for help."
exit 1
;;
@@ -113,22 +105,26 @@ done
if [ "$usage" ]; then
- echo ""
- echo "Usage: $CMDNAME [options] [langname [dbname]]"
- echo ""
+ echo "$CMDNAME removes a procedural language from a database."
+ echo
+ echo "Usage:"
+ echo " $CMDNAME [options] [langname [dbname]]"
+ echo
+ echo "Options:"
echo " -h, --host=HOSTNAME Database server host"
echo " -p, --port=PORT Database server port"
echo " -U, --username=USERNAME Username to connect as"
echo " -W, --password Prompt for password"
echo " -d, --dbname=DBNAME Database to remove language from"
- echo " -e, --echo Create some output about what is happening"
echo " -l, --list Show a list of currently installed languages"
+ echo
+ echo "Report bugs to <pgsql-bugs@postgresql.org>."
exit 0
fi
if [ "$list" ]; then
- psql $PSQLOPT -d "$dbname" -c "SELECT lanname, lanpltrusted, lancompiler FROM pg_language WHERE lanispl = 't'"
+ ${PATHNAME}psql $PSQLOPT -d "$dbname" -P 'title=Procedural languages' -c "SELECT lanname as \"Name\", lanpltrusted as \"Trusted?\", lancompiler as \"Compiler\" FROM pg_language WHERE lanispl = 't'"
exit $?
fi
@@ -171,13 +167,7 @@ case "$langname" in
esac
-if [ "$echo" ]; then
- PSQLOPT="$PSQLOPT -e"
-else
- PSQLOPT="$PSQLOPT -q"
-fi
-
-PSQL="psql -A -t $PSQLOPT -d $dbname -c"
+PSQL="${PATHNAME}psql -A -t -q $PSQLOPT -d $dbname -c"
# ----------
@@ -222,4 +212,5 @@ if [ $? -ne 0 ]; then
exit 1
fi
+echo "Ok"
exit 0
diff --git a/src/bin/scripts/dropuser b/src/bin/scripts/dropuser
index add007290b0..3a33c1f9cde 100644
--- a/src/bin/scripts/dropuser
+++ b/src/bin/scripts/dropuser
@@ -8,13 +8,15 @@
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/dropuser,v 1.5 2000/01/12 19:36:36 petere Exp $
+# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/dropuser,v 1.6 2000/01/19 20:08:36 petere Exp $
#
# Note - this should NOT be setuid.
#
#-------------------------------------------------------------------------
CMDNAME=`basename $0`
+PATHNAME=`echo $0 | sed "s,$CMDNAME\$,,"`
+
PSQLOPT=
forcedel=t
DelUser=
@@ -59,15 +61,12 @@ do
;;
# Note: These two specify the user to connect as (like in psql),
# not the user you're dropping.
- --user|--username|-U)
- PSQLOPT="$PSQLOPT -U '$2'"
+ --username|-U)
+ PSQLOPT="$PSQLOPT -U $2"
shift;;
-U*)
PSQLOPT="$PSQLOPT $1"
;;
- --user=*)
- PSQLOPT="$PSQLOPT -U "`echo $1 | sed 's/^--user=//'`
- ;;
--username=*)
PSQLOPT="$PSQLOPT -U "`echo $1 | sed 's/^--username=//'`
;;
@@ -85,7 +84,8 @@ do
forcedel=f
;;
-*)
- echo "$CMDNAME: Unrecognized option: $1. Try -? for help."
+ echo "$CMDNAME: invalid option: $1"
+ echo "Try -? for help."
exit 1
;;
*)
@@ -97,16 +97,21 @@ done
if [ "$usage" ]; then
- echo ""
- echo "Usage: $CMDNAME [options] [username]"
- echo ""
+ echo "$CMDNAME removes a PostgreSQL user."
+ echo
+ echo "Usage:"
+ echo " $CMDNAME [options] [username]"
+ echo
+ echo "Options:"
echo " -h, --host=HOSTNAME Database server host"
echo " -p, --port=PORT Database server port"
echo " -U, --username=USERNAME Username to connect as (not the one to drop)"
echo " -W, --password Prompt for password to connect"
echo " -i, --interactive Prompt before deleting anything"
-#??? echo " -e, --echo "
- echo " -q, --quiet Don't write any messages"
+ echo " -e, --echo Show the query being sent to the backend"
+ echo " -q, --quiet Don't write any messages"
+ echo
+ echo "Report bugs to <pgsql-bugs@postgresql.org>."
exit 0
fi
@@ -120,7 +125,7 @@ fi
if [ "$forcedel" = f ]; then
- echo "User \"$DelUser\" and any owned databases will be permanently deleted."
+ echo "User \"$DelUser\" will be permanently deleted."
$ECHO_N "Are you sure? (y/n) "$ECHO_C
read REPLY
@@ -131,7 +136,7 @@ fi
DelUser=`echo $DelUser | sed 's/\"/\\\"/g'`
-psql $PSQLOPT -d template1 -c "DROP USER \"$DelUser\""
+${PATHNAME}psql $PSQLOPT -d template1 -c "DROP USER \"$DelUser\""
if [ $? -ne 0 ]; then
echo "$CMDNAME: deletion of user \"$DelUser\" failed"
diff --git a/src/bin/scripts/vacuumdb b/src/bin/scripts/vacuumdb
index 92c0ce9cc94..fcf6d4513ce 100644
--- a/src/bin/scripts/vacuumdb
+++ b/src/bin/scripts/vacuumdb
@@ -11,11 +11,12 @@
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/vacuumdb,v 1.8 2000/01/12 19:36:36 petere Exp $
+# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/vacuumdb,v 1.9 2000/01/19 20:08:36 petere Exp $
#
#-------------------------------------------------------------------------
CMDNAME=`basename $0`
+PATHNAME=`echo $0 | sed "s,$CMDNAME\$,,"`
PSQLOPT=
verbose=
@@ -23,6 +24,7 @@ analyze=
table=
dbname=
alldb=
+quiet=0
while [ $# -gt 0 ]
do
@@ -50,15 +52,12 @@ do
--port=*)
PSQLOPT="$PSQLOPT -p "`echo $1 | sed 's/^--port=//'`
;;
- --user|--username|-U)
- PSQLOPT="$PSQLOPT -U '$2'"
+ --username|-U)
+ PSQLOPT="$PSQLOPT -U $2"
shift;;
-U*)
PSQLOPT="$PSQLOPT $1"
;;
- --user=*)
- PSQLOPT="$PSQLOPT -U "`echo $1 | sed 's/^--user=//'`
- ;;
--username=*)
PSQLOPT="$PSQLOPT -U "`echo $1 | sed 's/^--username=//'`
;;
@@ -66,12 +65,13 @@ do
PSQLOPT="$PSQLOPT -W"
;;
--echo|-e)
- PSQLOPT="$PSQLOPT -e"
+ ECHOOPT="-e"
;;
--quiet|-q)
- PSQLOPT="$PSQLOPT -o /dev/null"
+ ECHOOPT="$ECHOOPT -o /dev/null"
+ quiet=1
;;
- --dbname|--database|-d)
+ --dbname|-d)
dbname="$2"
shift;;
-d*)
@@ -80,12 +80,9 @@ do
--dbname=*)
dbname=`echo $1 | sed 's/^--dbname=//'`
;;
- --database=*)
- dbname=`echo $1 | sed 's/^--database=//'`
- ;;
# options converted into SQL command
--analyze|-z)
- analyze="ANALYZE "
+ analyze="ANALYZE"
;;
--all|-a)
alldb=Y
@@ -100,11 +97,11 @@ do
table=`echo $1 | sed 's/^--table=//'`
;;
--verbose|-v)
- verbose="VERBOSE "
+ verbose="VERBOSE"
;;
-*)
- echo "$CMDNAME: unrecognized option: $1"
+ echo "$CMDNAME: invalid option: $1"
echo "Try -? for help."
exit 1
;;
@@ -116,8 +113,12 @@ do
done
if [ "$usage" ]; then
- echo "Usage: $CMDNAME [options] [dbname]"
- echo ""
+ echo "$CMDNAME cleans and analyzes a PostgreSQL database."
+ echo
+ echo "Usage:"
+ echo " $CMDNAME [options] [dbname]"
+ echo
+ echo "Options:"
echo " -h, --host=HOSTNAME Database server host"
echo " -p, --port=PORT Database server port"
echo " -U, --username=USERNAME Username to connect as"
@@ -127,8 +128,10 @@ if [ "$usage" ]; then
echo " -z, --analyze Update optimizer hints"
echo " -t, --table='TABLE[(columns)]' Vacuum specific table only"
echo " -v, --verbose Write a lot of output"
-#??? echo " -e, --echo "
+ echo " -e, --echo Show the command being sent to the backend"
echo " -q, --quiet Don't write any output"
+ echo
+ echo "Report bugs to <pgsql-bugs@postgresql.org>."
exit 0
fi
@@ -137,10 +140,9 @@ if [ "$alldb" ]; then
echo "$CMDNAME: cannot vacuum all databases and a specific one at the same time"
exit 1
fi
- dbname="`psql $PSQLOPT -q -t -A -d template1 -c 'SELECT datname FROM pg_database'`"
-fi
+ dbname=`${PATHNAME}psql $PSQLOPT -q -t -A -d template1 -c 'SELECT datname FROM pg_database'`
-if [ -z "$dbname" ]; then
+elif [ -z "$dbname" ]; then
echo "$CMDNAME: missing required argument database name"
echo "Try -? for help."
exit 1
@@ -148,7 +150,8 @@ fi
for db in $dbname
do
- psql $PSQLOPT -c "vacuum $verbose $analyze $table" -d $dbname
+ [ "$alldb" -a "$quiet" -ne 1 ] && echo "Vacuuming $db"
+ ${PATHNAME}psql $PSQLOPT $ECHOOPT -c "VACUUM $verbose $analyze $table" -d $db
done
if [ $? -ne 0 ]; then