summaryrefslogtreecommitdiff
path: root/src/bin/scripts/clusterdb
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/scripts/clusterdb')
-rw-r--r--src/bin/scripts/clusterdb168
1 files changed, 0 insertions, 168 deletions
diff --git a/src/bin/scripts/clusterdb b/src/bin/scripts/clusterdb
deleted file mode 100644
index 70386bf7799..00000000000
--- a/src/bin/scripts/clusterdb
+++ /dev/null
@@ -1,168 +0,0 @@
-#!/bin/sh
-#-------------------------------------------------------------------------
-#
-# clusterdb--
-# cluster a postgres database
-#
-# This script runs psql with the "-c" option to cluster
-# the requested database.
-#
-# Copyright (c) 2002, PostgreSQL Global Development Group
-#
-#
-# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/clusterdb,v 1.12 2003/06/11 05:13:12 momjian Exp $
-#
-#-------------------------------------------------------------------------
-
-CMDNAME=`basename "$0"`
-PATHNAME=`echo "$0" | sed "s,$CMDNAME\$,,"`
-
-PSQLOPT=
-table=
-dbname=
-alldb=
-quiet=0
-
-while [ "$#" -gt 0 ]
-do
- case "$1" in
- --help|-\?)
- usage=t
- break
- ;;
-# options passed on to psql
- --host|-h)
- PSQLOPT="$PSQLOPT -h $2"
- shift;;
- -h*)
- PSQLOPT="$PSQLOPT $1"
- ;;
- --host=*)
- PSQLOPT="$PSQLOPT -h `echo \"$1\" | sed 's/^--host=//'`"
- ;;
- --port|-p)
- PSQLOPT="$PSQLOPT -p $2"
- shift;;
- -p*)
- PSQLOPT="$PSQLOPT $1"
- ;;
- --port=*)
- PSQLOPT="$PSQLOPT -p `echo \"$1\" | sed 's/^--port=//'`"
- ;;
- --username|-U)
- PSQLOPT="$PSQLOPT -U $2"
- shift;;
- -U*)
- PSQLOPT="$PSQLOPT $1"
- ;;
- --username=*)
- PSQLOPT="$PSQLOPT -U `echo \"$1\" | sed 's/^--username=//'`"
- ;;
- --password|-W)
- PSQLOPT="$PSQLOPT -W"
- ;;
- --echo|-e)
- ECHOOPT="-e"
- ;;
- --quiet|-q)
- ECHOOPT="$ECHOOPT -o /dev/null"
- quiet=1
- ;;
- --dbname|-d)
- dbname="$2"
- shift;;
- -d*)
- dbname=`echo $1 | sed 's/^-d//'`
- ;;
- --dbname=*)
- dbname=`echo $1 | sed 's/^--dbname=//'`
- ;;
- -a|--alldb)
- alldb=1
- ;;
-# options converted into SQL command
- --table|-t)
- table="$2"
- shift;;
- -t*)
- table=`echo $1 | sed 's/^-t//'`
- ;;
- --table=*)
- table=`echo $1 | sed 's/^--table=//'`
- ;;
- -*)
- echo "$CMDNAME: invalid option: $1" 1>&2
- echo "Try '$CMDNAME --help' for more information." 1>&2
- exit 1
- ;;
- *)
- dbname="$1"
- if [ "$#" -ne 1 ]; then
- echo "$CMDNAME: invalid option: $2" 1>&2
- echo "Try '$CMDNAME --help' for more information." 1>&2
- exit 1
- fi
- ;;
- esac
- shift
-done
-
-if [ "$usage" ]; then
- echo "$CMDNAME cluster all previously clustered tables in a database."
- echo
- echo "Usage:"
- echo " $CMDNAME [OPTION]... [DBNAME]"
- echo
- echo "Options:"
- echo " -a, --all cluster all databases"
- echo " -d, --dbname=DBNAME database to cluster"
- echo " -t, --table='TABLE' cluster specific table only"
- echo " -e, --echo show the commands sent to the backend"
- echo " -q, --quiet don't write any output"
- echo " --help show this help, then exit"
- echo
- echo "Connection options:"
- echo " -h, --host=HOSTNAME database server host or socket directory"
- echo " -p, --port=PORT database server port"
- echo " -U, --username=USERNAME user name to connect as"
- echo " -W, --password prompt for password"
- echo
- echo "Read the description of the SQL command CLUSTER for details."
- echo
- echo "Report bugs to <[email protected]>."
- exit 0
-fi
-
-if [ "$alldb" ]; then
- if [ "$dbname" -o "$table" ]; then
- echo "$CMDNAME: cannot cluster all databases and a specific one at the same time" 1>&2
- exit 1
- fi
- dbname=`${PATHNAME}psql $PSQLOPT -q -t -A -d template1 -c 'SELECT datname FROM pg_database WHERE datallowconn'`
- [ "$?" -ne 0 ] && exit 1
-
-elif [ -z "$dbname" ]; then
- if [ "$PGDATABASE" ]; then
- dbname="$PGDATABASE"
- elif [ "$PGUSER" ]; then
- dbname="$PGUSER"
- else
- dbname=`${PATHNAME}pg_id -u -n`
- fi
- [ "$?" -ne 0 ] && exit 1
-fi
-
-for db in $dbname
-do
- [ "$alldb" ] && echo "Clustering $db"
- if [ -z "$table" ]; then
- ${PATHNAME}psql $PSQLOPT $ECHOOPT -c "CLUSTER" -d $db
- [ "$?" -ne 0 ] && exit 1
- else
- ${PATHNAME}psql $PSQLOPT $ECHOOPT -c "CLUSTER $table" -d $db
- [ "$?" -ne 0 ] && exit 1
- fi
-done
-
-exit 0