> > It would be nice for new users; I think it would make it easier
authorBruce Momjian
Sat, 18 Dec 1999 08:34:50 +0000 (08:34 +0000)
committerBruce Momjian
Sat, 18 Dec 1999 08:34:50 +0000 (08:34 +0000)
> > for them to actually set out and do it.  Many new users are
> > of the not-so-knowledgable variety, and shell scripting isn't
> > something they want to undertake.
>
> Can someone modify the vacuumdb shell script to do that?
i tried it... it seems to work

[email protected]

doc/src/sgml/ref/vacuumdb.sgml
src/bin/scripts/vacuumdb

index 96a4f06d6a1f72ec209014e9c0a21729eba7f381..a73080701557291d5268a57486e4b21a931b5c06 100644 (file)
@@ -1,5 +1,5 @@
 
 
@@ -23,7 +23,7 @@ Postgres documentation
    1999-12-04
   
   
-vacuumdb [ connection options ] [ --analyze | -z ] [ --verbose | -v ]
+vacuumdb [ connection options ] [ --analyze | -z ] [ --alldb | -a ] [ --verbose | -v ]
          [ --table 'table [ ( column [,...] ) ]' ] [ [-d] dbname ]
   
 
@@ -56,6 +56,15 @@ vacuumdb [ connection options ] [ -
       
      
 
+     
+      -a, --alldb
+      
+       
+   Vacuum all databases.
+       
+      
+     
+
      
       -v, --verbose
       
index 487a2c4feea2ccd20c0e69c4a9d487b9dca21fd6..ea5fe1697e79ba767b60abbcb79a5b048626a0e6 100644 (file)
@@ -11,7 +11,7 @@
 #
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/vacuumdb,v 1.4 1999/12/16 20:10:02 momjian Exp $
+#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/vacuumdb,v 1.5 1999/12/18 08:34:50 momjian Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -39,6 +39,8 @@ do
         --host=*)
                 PSQLOPT="$PSQLOPT -h "`echo $1 | sed 's/^--host=//'`
                 ;;
+   --alldb|-a) 
+       dbname="`psql $PASSWDOPT $AUTHOPT $PGHOSTOPT $PGPORTOPT -q -t -A -d template1 -c 'SELECT datname FROM pg_database'`";;
    --port|-p)
        PSQLOPT="$PSQLOPT -p $2"
        shift;;
@@ -119,6 +121,7 @@ if [ "$usage" ]; then
    echo "    -W,                  --password          "
    echo "    -d DBNAME,           --database=DBNAME   "
    echo "    -z,                  --analyze           "
+   echo "    -a,                  --alldb             "
    echo "    -t TABLE[(columns)], --table=TABLE[(columns)]"
    echo "    -v,                  --verbose           "
    echo "    -e,                  --echo              "
@@ -133,9 +136,13 @@ if [ -z "$dbname" ]; then
    exit 1
 fi
 
-psql $PSQLOPT -d "$dbname" -c "VACUUM $verbose$analyze$table"
+for db in $dbname
+do
+   psql $PASSWDOPT -tq $AUTHOPT $PGHOSTOPT $PGPORTOPT -c "vacuum $verbose $analyze $table" $db
+done
 
-if [ $? -ne 0 ]; then
+if [ $? -ne 0 ]
+then
    echo "$CMDNAME: Vacuum failed."
    exit 1
 fi