Commit a0aab48f authored by Bruce Momjian's avatar Bruce Momjian

Okay, that should put us back in sync. These two patches (src & doc) are

against the sources from one hour ago and contain all the portable and
up
to date stuff.

A few other CVS "householding" things you might want to take care of:

* Remove the src/bin/cleardbdir directory

* Remove the file src/bin/psql/sql_help.h from the repository, as it is
a derived file and is build by the release_prep.

Peter Eisentraut
parent 54847b25
......@@ -808,7 +808,7 @@ $ nohup postmaster -i > pgserver.log 2>&1 &
<para>
Create a database by typing
<ProgramListing>
$ createdb
$ createdb test
</ProgramListing>
</para>
</step>
......@@ -816,7 +816,7 @@ $ createdb
<para>
Connect to the new database:
<ProgramListing>
$ psql
$ psql test
</ProgramListing>
</para>
</step>
......@@ -840,7 +840,7 @@ postgres=> \q
<para>
Remove the test database (unless you will want to use it later for other tests):
<ProgramListing>
$ destroydb
$ dropdb test
</ProgramListing>
</para>
</step>
......@@ -1028,7 +1028,7 @@ For example,
After running the regression tests, type
<ProgramListing>
$ destroydb regression
$ dropdb regression
$ cd /usr/src/pgsql/postgresql-6.5.3/src/test/regress
$ gmake clean
</ProgramListing>
......@@ -1241,7 +1241,7 @@ Create the database foo:
<ProgramListing>
template1=> create database foo;
CREATEDB
CREATE DATABASE
</ProgramListing>
(Get in the habit of including those SQL semicolons. Psql won't execute
......
......@@ -143,7 +143,7 @@ You are currently connected to the database: <replaceable>dbname</replaceable>
mydb, you can destroy it using the following Unix command:
<programlisting>
% destroydb <replaceable class="parameter">dbname</replaceable>
% dropdb <replaceable class="parameter">dbname</replaceable>
</programlisting>
This action physically removes all of the Unix files
......
......@@ -283,7 +283,7 @@ TBD
If you are the database administrator for the database
<Database>mydb</Database>, you can destroy it using the following Unix command:
<ProgramListing>
% destroydb mydb
% dropdb mydb
</ProgramListing>
This action physically removes all of the Unix files
associated with the database and cannot be undone, so
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createdb.sgml,v 1.7 1999/12/04 04:53:15 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createdb.sgml,v 1.8 1999/12/07 22:41:41 momjian Exp $
Postgres documentation
-->
......@@ -96,7 +96,7 @@ createdb [ <replaceable class="parameter">options</replaceable> ] <replaceable c
</varlistentry>
<varlistentry>
<term>-D, --dbpath <replaceable class="parameter">datadir</replaceable></term>
<term>-D, --location <replaceable class="parameter">datadir</replaceable></term>
<listitem>
<para>
Specifies the alternate database location for this database installation.
......@@ -120,7 +120,7 @@ createdb [ <replaceable class="parameter">options</replaceable> ] <replaceable c
<listitem>
<para>
Specifies the name of the database to be created. The name must be
unique among all <productname>Postgres</productname> databases in this installation.
unique among all <productname>PostgreSQL</productname> databases in this installation.
</para>
</listitem>
</varlistentry>
......@@ -167,7 +167,7 @@ createdb [ <replaceable class="parameter">options</replaceable> ] <replaceable c
</varlistentry>
<varlistentry>
<term><computeroutput>createdb: Comment creation failed.</computeroutput></term>
<term><computeroutput>createdb: Comment creation failed. (Database was created.)</computeroutput></term>
<listitem>
<para>
The comment/description for the database could not be created.
......@@ -235,11 +235,11 @@ CREATE DATABASE
<para>
To create the database <literal>demo</literal>
using the postmaster on host eden, port 5000, using the <literal>LATIN1</literal>
encoding scheme and look at the underlying query:
encoding scheme with a look at the underlying query:
<programlisting>
$ <userinput>createdb -p 5000 -h eden -E LATIN1 -e demo</userinput>
QUERY: CREATE DATABASE "demo" WITH ENCODING = 'LATIN1'
CREATE DATABASE "demo" WITH ENCODING = 'LATIN1'
CREATE DATABASE
</programlisting>
</para>
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createuser.sgml,v 1.6 1999/12/04 04:53:15 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createuser.sgml,v 1.7 1999/12/07 22:41:41 momjian Exp $
Postgres documentation
-->
......@@ -125,6 +125,16 @@ createuser [ <replaceable class="parameter">options</replaceable> ] [ <replaceab
</listitem>
</varlistentry>
<varlistentry>
<term>-i, --sysid <replaceable class="parameter">uid</replaceable></term>
<listitem>
<para>
Allows you to pick a non-default user id for the new user. This is not
necessary, but some people like it.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">username</replaceable></term>
<listitem>
......@@ -142,11 +152,9 @@ createuser [ <replaceable class="parameter">options</replaceable> ] [ <replaceab
<para>
The options <literal>-h</literal>, <literal>-p</literal>, and <literal>-e</literal>,
are passed on literally to <xref linkend="APP-PSQL" endterm="APP-PSQL-title">. If you
need the <application>psql</application> options <literal>-U</literal> and
<literal>-W</literal> as well, you can uncomment the
respective lines in the source. They are disabled by default because of the potential
conceptual confusion between existing and new users.
are passed on literally to <xref linkend="APP-PSQL" endterm="APP-PSQL-title">. The
<application>psql</application> options <literal>-U</literal> and <literal>-W</literal>
are available as well, but their use can be confusing in this context.
</para>
</refsect2>
......@@ -243,7 +251,7 @@ CREATE USER
<programlisting>
$ <userinput>createuser -p 5000 -h eden -D -A -e joe</userinput>
QUERY: CREATE USER "joe" NOCREATEDB NOCREATEUSER
CREATE USER "joe" NOCREATEDB NOCREATEUSER
CREATE USER
</programlisting>
</para>
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_user.sgml,v 1.8 1999/12/04 04:53:15 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_user.sgml,v 1.9 1999/12/07 22:41:41 momjian Exp $
Postgres documentation
-->
......@@ -94,9 +94,7 @@ ERROR: removeUser: user "<replaceable class="parameter">name</replaceable>" does
user from the database,
along with any databases owned by the user. It
does not remove tables, views, or triggers owned by the
named user in databases not owned by the user. This statement
can be used in place of the <application>dropuser</application>
script, regardless of how the user was created.
named user in databases not owned by the user.
</para>
<refsect2 id="R2-SQL-DROPUSER-3">
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/dropdb.sgml,v 1.1 1999/12/04 04:53:15 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/dropdb.sgml,v 1.2 1999/12/07 22:41:41 momjian Exp $
Postgres documentation
-->
......@@ -207,7 +207,7 @@ DROP DATABASE
$ <userinput>dropdb -p 5000 -h eden -i -e demo</userinput>
Database "demo" will be permanently deleted.
Are you sure? (y/n) <userinput>y</userinput>
QUERY: DROP DATABASE "demo"
DROP DATABASE "demo"
DROP DATABASE
</programlisting>
</para>
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/dropuser.sgml,v 1.1 1999/12/04 04:53:15 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/dropuser.sgml,v 1.2 1999/12/07 22:41:41 momjian Exp $
Postgres documentation
-->
......@@ -101,11 +101,9 @@ dropuser [ <replaceable class="parameter">options</replaceable> ] [ <replaceable
<para>
The options <literal>-h</literal>, <literal>-p</literal>, and <literal>-e</literal>,
are passed on literally to <xref linkend="APP-PSQL" endterm="APP-PSQL-title">. If you
need the <application>psql</application> options <literal>-U</literal> and
<literal>-W</literal> as well, you can uncomment the
respective lines in the source. They are disabled by default because of the potential
conceptual confusion between existing and new users.
are passed on literally to <xref linkend="APP-PSQL" endterm="APP-PSQL-title">. The
<application>psql</application> options <literal>-U</literal> and <literal>-W</literal>
are available as well, but they can be confusing in this context.
</para>
</refsect2>
......@@ -201,7 +199,7 @@ DROP USER
$ <userinput>dropuser -p 5000 -h eden -i -e joe</userinput>
User "joe" and any owned databases will be permanently deleted.
Are you sure? (y/n) <userinput>y</userinput>
QUERY: DROP USER "joe"
DROP USER "joe"
DROP USER
</programlisting>
</para>
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/vacuum.sgml,v 1.6 1999/11/28 02:17:04 tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/vacuum.sgml,v 1.7 1999/12/07 22:41:41 momjian Exp $
Postgres documentation
-->
......@@ -24,7 +24,7 @@ Postgres documentation
</refsynopsisdivinfo>
<synopsis>
VACUUM [ VERBOSE ] [ ANALYZE ] [ <replaceable class="PARAMETER">table</replaceable> ]
VACUUM [ VERBOSE ] ANALYZE [ <replaceable class="PARAMETER">ER">t</replaceable>BLE> [ (<replaceable class="PARAMETER">column</replaceable> [, ...] ) ] ]
VACUUM [ VERBOSE ] ANALYZE [ <replaceable class="PARAMETER">table</replaceable> [ (<replaceable class="PARAMETER">column</replaceable> [, ...] ) ] ]
</synopsis>
<refsect2 id="R2-SQL-VACUUM-1">
......
This diff is collapsed.
......@@ -246,7 +246,7 @@ The runtime path is /usr/local/pgsql (other paths are possible).
<Para>
After running the tests and examining the results, type
<ProgramListing>
destroydb regression
dropdb regression
cd /usr/src/pgsql/src/test/regress
gmake clean
</ProgramListing>
......
......@@ -10,7 +10,7 @@
<para>
<application>createuser</application> enables specific users to access
<productname>Postgres</productname>.
<application>destroyuser</application> removes users and
<application>dropuser</application> removes users and
prevents them from accessing <productname>Postgres</productname>.
</para>
......@@ -115,7 +115,7 @@ Creating Postgres database system directory /home/postgres/data/base
<programlisting>
% createdb -D PGDATA2 test
% destroydb test
% dropdb test
</programlisting>
</para>
......
......@@ -305,7 +305,7 @@ mydb=> \q
If you are the database administrator for the database
<Database>mydb</Database>, you can destroy it using the following Unix command:
<ProgramListing>
% destroydb mydb
% dropdb mydb
</ProgramListing>
This action physically removes all of the Unix files
associated with the database and cannot be undone, so
......
#!/bin/sh
#-------------------------------------------------------------------------
#
# createdb.sh--
# createdb--
# create a postgres database
#
# This program runs psql with the "-c" option to create
......@@ -11,7 +11,7 @@
#
#
# IDENTIFICATION
# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createdb,v 1.1 1999/12/04 04:53:21 momjian Exp $
# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createdb,v 1.2 1999/12/07 22:41:44 momjian Exp $
#
#-------------------------------------------------------------------------
......@@ -21,6 +21,7 @@ MB=
PSQLOPT=
dbname=
dbcomment=
dbpath=
while [ $# -gt 0 ]
do
......@@ -33,12 +34,33 @@ do
--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=//'`
;;
--user|--username|-U)
PSQLOPT="$PSQLOPT -U $2"
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"
;;
......@@ -49,18 +71,24 @@ do
PSQLOPT="$PSQLOPT -o /dev/null"
;;
# options converted into SQL command
--dbpath|-D)
--location|-D)
dbpath="$2"
shift;;
-D*)
dbpath=`echo $1 | sed 's/^-D//'`
;;
--location=*)
dbpath=`echo $1 | sed 's/^--location=//'`
;;
--encoding|-E)
MB=$2
shift
if [ -z `pg_encoding $MB` ]; then
echo "$CMDNAME: $MB is not a valid encoding name"
exit 1
fi
;;
shift;;
-E*)
MB=`echo $1 | sed 's/^-E//'`
;;
--encoding=*)
MB=`echo $1 | sed 's/^--encoding=//'`
;;
-*)
echo "$CMDNAME: Unrecognized option: $1. Try -? for help."
exit 1
......@@ -78,17 +106,26 @@ done
if [ "$usage" ]; then
echo "Usage: $CMDNAME [-h <server>] [-p <port>] [-D <path>] \\"
echo " [-E <encoding>] [-U <username>] [-W] dbname [description]"
echo "Usage: $CMDNAME [-h server] [-p port] [-D path] \\"
echo " [-E encoding] [-U username] dbname [description]"
exit 0
fi
if [ "$MB" -a -z "`pg_encoding '$MB'`" ]; then
echo "$CMDNAME: \"$MB\" is not a valid encoding name."
exit 1
fi
if [ -z "$dbname" ]; then
echo "$CMDNAME: Missing required argument database name. Try -? for help."
exit 1
fi
dbpath=`echo $dbpath | sed "s/'/\\\\\'/g"`
dbname=`echo $dbname | sed 's/\"/\\\"/g'`
withstring=
[ "$dbpath" ] && withstring="$withstring LOCATION = '$dbpath'"
[ "$MB" ] && withstring="$withstring ENCODING = '$MB'"
......@@ -103,10 +140,12 @@ fi
# Insert comment as well, if requested
[ -z "$dbcomment" ] && exit 0
psql $PSQLOPT -d template1 -c "COMMENT ON DATABASE \"$dbname\" IS \'$dbcomment\'"
dbcomment=`echo $dbcomment | sed "s/'/\\\\\'/g"`
psql $PSQLOPT -d template1 -c "COMMENT ON DATABASE \"$dbname\" IS '$dbcomment'"
if [ $? -ne 0 ]; then
echo "$CMDNAME: Comment creation failed."
echo "$CMDNAME: Comment creation failed. (Database was created.)"
exit 1
fi
exit 0
\ No newline at end of file
exit 0
......@@ -8,7 +8,7 @@
#
#
# IDENTIFICATION
# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createlang.sh,v 1.1 1999/12/05 20:02:48 momjian Exp $
# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createlang.sh,v 1.2 1999/12/07 22:41:44 momjian Exp $
#
#-------------------------------------------------------------------------
......
......@@ -8,7 +8,7 @@
#
#
# IDENTIFICATION
# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createuser,v 1.2 1999/12/05 20:52:54 momjian Exp $
# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createuser,v 1.3 1999/12/07 22:41:44 momjian Exp $
#
# Note - this should NOT be setuid.
#
......@@ -35,6 +35,7 @@ else
ECHO_C='\c'
fi
while [ $# -gt 0 ]
do
case "$1" in
......@@ -46,17 +47,38 @@ do
--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;;
# Uncomment these lines if you need the -U and -W options.
# They are confusing in this context, however.
# --user|--username|-U)
# PSQLOPT="$PSQLOPT -U $2"
# shift;;
# --password|-W)
# PSQLOPT="$PSQLOPT -W"
# ;;
-p*)
PSQLOPT="$PSQLOPT $1"
;;
--port=*)
PSQLOPT="$PSQLOPT -p "`echo $1 | sed 's/^--port=//'`
;;
# 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'"
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)
PSQLOPT="$PSQLOPT -e"
;;
......@@ -76,6 +98,15 @@ do
--no-adduser|-A)
CanAddUser=f
;;
--sysid|-i)
SysID=$2
shift;;
--sysid=*)
SysID=`echo $1 | sed 's/^--sysid=//'`
;;
-i*)
SysID=`echo $1 | sed 's/^-i//'`
;;
--pwprompt|--pw|-P)
PwPrompt=t
;;
......@@ -94,11 +125,18 @@ done
# Help
if [ "$usage" ]; then
echo "Usage: $CMDNAME [-h <server>] [-p <port>] [-d|-D] [-a|-A] [-P] [username]"
echo "Usage: $CMDNAME [-h server] [-p port] [-d|-D] [-a|-A] [-P] [-i id] [username]"
exit 0
fi
if [ "$SysID" ]; then
if [ "$SysID" != "`echo $SysID | sed 's/[^0-9]//g'`" ]; then
echo "$CMDNAME: User sysid must be a positive number."
exit 1
fi
fi
# Get missing user attributes
if [ -z "$NewUser" ]; then
......@@ -108,12 +146,12 @@ if [ -z "$NewUser" ]; then
fi
if [ "$PwPrompt" ]; then
$ECHO_N "Enter password for user $NewUser: "$ECHO_C
$ECHO_N "Enter password for user \"$NewUser\": "$ECHO_C
read Password
fi
if [ -z "$CanCreateDb" ]; then
$ECHO_N "Is the new user allowed to create databases? (y/n) "$ECHO_C
$ECHO_N "Shall the new user be allowed to create databases? (y/n) "$ECHO_C
read REPLY
[ $? -ne 0 ] && exit 1
if [ $REPLY = "y" -o $REPLY = "Y" ]; then
......@@ -138,9 +176,16 @@ fi
#
# build SQL command
#
NewUser=`echo $NewUser | sed 's/\"/\\\"/g'`
Password=`echo $Password | sed 's/\"/\\\"/g'`
QUERY="CREATE USER \"$NewUser\""
[ "$Password" ] && QUERY="$QUERY WITH PASSWORD \"$Password\""
SUBQUERY=
[ "$SysID" ] && SUBQUERY="$SUBQUERY SYSID $SysID"
[ "$Password" ] && SUBQUERY="$SUBQUERY PASSWORD \"$Password\""
[ "$SUBQUERY" ] && QUERY="$QUERY WITH $SUBQUERY"
[ "$CanCreateDb" = t ] && QUERY="$QUERY CREATEDB"
[ "$CanCreateDb" = f ] && QUERY="$QUERY NOCREATEDB"
[ "$CanAddUser" = t ] && QUERY="$QUERY CREATEUSER"
......
......@@ -10,7 +10,7 @@
#
#
# IDENTIFICATION
# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/dropdb,v 1.2 1999/12/05 20:52:54 momjian Exp $
# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/dropdb,v 1.3 1999/12/07 22:41:44 momjian Exp $
#
#-------------------------------------------------------------------------
......@@ -31,6 +31,7 @@ else
ECHO_C='\c'
fi
while [ $# -gt 0 ]
do
case "$1" in
......@@ -42,12 +43,33 @@ do
--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=//'`
;;
--user|--username|-U)
PSQLOPT="$PSQLOPT -U $2"
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"
;;
......@@ -74,7 +96,7 @@ done
if [ "$usage" ]; then
echo "Usage: $CMDNAME [-h <server>] [-p <port>] [-U <username>] [-W] [-i] dbname"
echo "Usage: $CMDNAME [-h server] [-p port] [-U username] [-i] dbname"
exit 0
fi
......@@ -94,6 +116,8 @@ if [ "$forcedel" = f ]; then
fi
dbname=`echo $dbname | sed 's/\"/\\\"/g'`
psql $PSQLOPT -d template1 -c "DROP DATABASE \"$dbname\""
if [ $? -ne 0 ]; then
echo "$CMDNAME: Database removal failed."
......
......@@ -8,7 +8,7 @@
#
#
# IDENTIFICATION
# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/droplang,v 1.2 1999/12/05 20:52:54 momjian Exp $
# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/droplang,v 1.3 1999/12/07 22:41:44 momjian Exp $
#
#-------------------------------------------------------------------------
......@@ -20,6 +20,17 @@ langname=
echo=
list=
# Check for echo -n vs echo \c
if echo '\c' | grep -s c >/dev/null 2>&1
then
ECHO_N="echo -n"
ECHO_C=""
else
ECHO_N="echo"
ECHO_C='\c'
fi
# ----------
# Get options, language name and dbname
......
......@@ -2,13 +2,13 @@
#-------------------------------------------------------------------------
#
# dropuser--
# Utility for remocing a user from the PostgreSQL database.
# Utility for removing a user from the PostgreSQL database.
#
# Copyright (c) 1994, Regents of the University of California
#
#
# IDENTIFICATION
# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/dropuser,v 1.2 1999/12/05 20:52:54 momjian Exp $
# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/dropuser,v 1.3 1999/12/07 22:41:44 momjian Exp $
#
# Note - this should NOT be setuid.
#
......@@ -17,6 +17,7 @@
CMDNAME=`basename $0`
PSQLOPT=
forcedel=t
DelUser=
# Check for echo -n vs echo \c
......@@ -29,6 +30,7 @@ else
ECHO_C='\c'
fi
while [ $# -gt 0 ]
do
case "$1" in
......@@ -40,17 +42,38 @@ do
--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;;
# Uncomment these lines if you need the -U and -W options.
# They are confusing in this context, however.
# --user|--username|-U)
# PSQLOPT="$PSQLOPT -U $2"
# shift;;
# --password|-W)
# PSQLOPT="$PSQLOPT -W"
# ;;
-p*)
PSQLOPT="$PSQLOPT $1"
;;
--port=*)
PSQLOPT="$PSQLOPT -p "`echo $1 | sed 's/^--port=//'`
;;
# 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'"
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)
PSQLOPT="$PSQLOPT -e"
;;
......@@ -76,7 +99,7 @@ done
# Help
if [ "$usage" ]; then
echo "Usage: $CMDNAME [-h <server>] [-p <port>] [-i] [username]"
echo "Usage: $CMDNAME [-h server] [-p port] [-i] [username]"
exit 0
fi
......@@ -84,7 +107,7 @@ fi
if [ -z "$DelUser" ]; then
$ECHO_N "Enter name of user to delete: "$ECHO_C
read NewUser
read DelUser
[ $? -ne 0 ] && exit 1
fi
......@@ -99,6 +122,8 @@ if [ "$forcedel" = f ]; then
fi
DelUser=`echo $DelUser | sed 's/\"/\\\"/g'`
psql $PSQLOPT -d template1 -c "DROP USER \"$DelUser\""
if [ $? -ne 0 ]; then
......
......@@ -11,7 +11,7 @@
#
#
# IDENTIFICATION
# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/vacuumdb,v 1.2 1999/12/05 20:02:49 momjian Exp $
# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/vacuumdb,v 1.3 1999/12/07 22:41:44 momjian Exp $
#
#-------------------------------------------------------------------------
......@@ -21,6 +21,7 @@ PSQLOPT=
verbose=
analyze=
table=
dbname=
while [ $# -gt 0 ]
do
......@@ -33,12 +34,33 @@ do
--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=//'`
;;
--user|--username|-U)
PSQLOPT="$PSQLOPT -U $2"
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"
;;
......@@ -48,6 +70,9 @@ do
--quiet|-q)
PSQLOPT="$PSQLOPT -o /dev/null"
;;
--dbname|--database|-d)
dbname="$2"
shift;;
-d*)
dbname=`echo $1 | sed 's/^-d//'`
;;
......@@ -59,21 +84,26 @@ do
;;
# options converted into SQL command
--analyze|-z)
analyze="analyze"
analyze="ANALYZE "
;;
--table|-t)
table=$2
table="$2"
shift;;
-t*)
table=`echo $1 | sed 's/^-t//'`
;;
--table=*)
table=`echo $1 | sed 's/^--table=//'`
;;
--verbose|-v)
verbose="verbose"
verbose="VERBOSE "
;;
-*)
echo "$CMDNAME: Unrecognized option: $1. Try -? for help."
exit 1
;;
*)
*)
dbname="$1"
;;
esac
......@@ -82,7 +112,7 @@ done
if [ "$usage" ]; then
echo "Usage: $CMDNAME [-h <server>] [-p <port>] [-U <username>] [-W] [-d <dbname>] \\"
echo "Usage: $CMDNAME [-h server] [-p port] [-U username] [-d dbname] \\"
echo " [-z|--analyze] [-v|--verbose] [-t|--table 'table[(columns)]'] [dbname]"
exit 0
fi
......@@ -92,10 +122,10 @@ if [ -z "$dbname" ]; then
exit 1
fi
psql $PSQLOPT -d "$dbname" -c "VACUUM $verbose $analyze $table"
psql $PSQLOPT -d "$dbname" -c "VACUUM $verbose$analyze$table"
if [ $? -ne 0 ]; then
echo "$CMDNAME: Database vacuum failed."
echo "$CMDNAME: Vacuum failed."
exit 1
fi
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment