aboutsummaryrefslogtreecommitdiff
path: root/src/bin/destroyuser/destroyuser.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/destroyuser/destroyuser.sh')
-rw-r--r--src/bin/destroyuser/destroyuser.sh196
1 files changed, 0 insertions, 196 deletions
diff --git a/src/bin/destroyuser/destroyuser.sh b/src/bin/destroyuser/destroyuser.sh
deleted file mode 100644
index 135fff181fe..00000000000
--- a/src/bin/destroyuser/destroyuser.sh
+++ /dev/null
@@ -1,196 +0,0 @@
-#!/bin/sh
-#-------------------------------------------------------------------------
-#
-# destroyuser.sh--
-# utility for destroying a user from the POSTGRES database.
-#
-# Copyright (c) 1994, Regents of the University of California
-#
-#
-# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/bin/destroyuser/Attic/destroyuser.sh,v 1.11 1999/03/14 16:00:55 momjian Exp $
-#
-# Note - this should NOT be setuid.
-#
-#-------------------------------------------------------------------------
-
-CMDNAME=`basename $0`
-
-if [ -z "$USER" ]; then
- if [ -z "$LOGNAME" ]; then
- if [ -z "`whoami`" ]; then
- echo "$CMDNAME: cannot determine user name"
- exit 1
- fi
- else
- USER=$LOGNAME
- export USER
- fi
-fi
-
-while (test -n "$1")
-do
- case $1 in
- -a) AUTHSYS=$2; shift;;
- -h) PGHOST=$2; shift;;
- -p) PGPORT=$2; shift;;
- *) DELUSER=$1;;
- esac
- shift;
-done
-
-if [ -z "$AUTHSYS" ]; then
- AUTHOPT=""
-else
- AUTHOPT="-a $AUTHSYS"
-fi
-
-if [ -z "$PGHOST" ]; then
- PGHOSTOPT=""
-else
- PGHOSTOPT="-h $PGHOST"
-fi
-
-if [ -z "$PGPORT" ]; then
- PGPORTOPT=""
-else
- PGPORTOPT="-p $PGPORT"
-fi
-
-PARGS="-tq $AUTHOPT $PGHOSTOPT $PGPORTOPT"
-
-#
-# generate the first part of the actual monitor command
-#
-PSQL="psql $PARGS"
-
-
-#
-# see if user $USER is allowed to create new users. Only a user who can
-# create users can delete them.
-#
-
-QUERY="select usesuper from pg_user where usename = '$USER'"
-ADDUSER=`$PSQL -c "$QUERY" template1`
-
-if [ $? -ne 0 ]
-then
- echo "$CMDNAME: database access failed."
- exit 1
-fi
-
-if [ x$ADDUSER != xt ]
-then
- echo "$CMDNAME: $USER cannot delete users."
- exit 1
-fi
-
-#
-# get the user name of the user to delete. Make sure it exists.
-#
-
-if [ -z "$DELUSER" ]
-then
- echo PG_OPT_DASH_N_PARAM "Enter name of user to delete ---> PG_OPT_BACKSLASH_C_PARAM"
- read DELUSER
-fi
-
-QUERY="select usesysid from pg_user where usename = '$DELUSER'"
-
-RES=`$PSQL -c "$QUERY" template1`
-
-if [ $? -ne 0 ]
-then
- echo "$CMDNAME: database access failed."
- exit 1
-fi
-
-if [ ! -n "$RES" ]
-then
- echo "$CMDNAME: user "\"$DELUSER\"" does not exist."
- exit 1
-fi
-
-SYSID=`echo $RES | sed 's/ //g'`
-
-#
-# destroy the databases owned by the deleted user. First, use this query
-# to find out what they are.
-#
-
-QUERY="select datname from pg_database where datdba = '$SYSID'::oid"
-
-
-ALLDBS=`$PSQL -c "$QUERY" template1`
-
-if [ $? -ne 0 ]
-then
- echo "$CMDNAME: database access failed - exiting..."
- exit 1
-fi
-
-
-#
-# don't try to delete template1!
-#
-
-for i in $ALLDBS
-do
- if [ $i != "template1" ]
- then
- DBLIST="$DBLIST $i"
- fi
-done
-
-if [ -n "$DBLIST" ]
-then
- echo "User $DELUSER owned the following databases:"
- echo $DBLIST
- echo
-
-#
-# Now we warn the DBA that deleting this user will destroy a bunch of databases
-#
-
- yn=f
- while [ "$yn" != y -a "$yn" != n ]
- do
- echo PG_OPT_DASH_N_PARAM "Deleting user $DELUSER will destroy them. Continue (y/n)? PG_OPT_BACKSLASH_C_PARAM"
- read yn
- done
-
- if [ $yn = n ]
- then
- echo "$CMDNAME: exiting"
- exit 1
- fi
-
- #
- # now actually destroy the databases
- #
-
- for i in $DBLIST
- do
- echo "destroying database $i"
-
- QUERY="drop database $i"
- $PSQL -c "$QUERY" template1
- if [ $? -ne 0 ]
- then
- echo "$CMDNAME: drop database on $i failed - exiting"
- exit 1
- fi
- done
-fi
-
-QUERY="delete from pg_shadow where usename = '$DELUSER'"
-
-$PSQL -c "$QUERY" template1
-if [ $? -ne 0 ]
-then
- echo "$CMDNAME: delete of user $DELUSER was UNSUCCESSFUL"
-else
- echo "$CMDNAME: delete of user $DELUSER was successful."
-fi
-
-exit 0