aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2002-02-24 23:27:58 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2002-02-24 23:27:58 +0000
commit75e5e20d0e492c96ec3ff20e48ff1427cfee5461 (patch)
tree23b1f5be326a155c7319f997c73b444748ad906a
parent36d2cc1d574d54f06c9f3fa53328332e6183473c (diff)
downloadpostgresql-75e5e20d0e492c96ec3ff20e48ff1427cfee5461.tar.gz
postgresql-75e5e20d0e492c96ec3ff20e48ff1427cfee5461.zip
Add -O/--owner switch to createdb script, in support of new OWNER option
for CREATE DATABASE.
-rw-r--r--doc/src/sgml/ref/createdb.sgml29
-rw-r--r--src/bin/scripts/createdb14
2 files changed, 36 insertions, 7 deletions
diff --git a/doc/src/sgml/ref/createdb.sgml b/doc/src/sgml/ref/createdb.sgml
index 2e90888ee9f..b7e189296e8 100644
--- a/doc/src/sgml/ref/createdb.sgml
+++ b/doc/src/sgml/ref/createdb.sgml
@@ -1,5 +1,5 @@
<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/createdb.sgml,v 1.24 2002/01/20 22:19:56 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/createdb.sgml,v 1.25 2002/02/24 23:27:57 tgl Exp $
PostgreSQL documentation
-->
@@ -93,6 +93,15 @@ PostgreSQL documentation
</varlistentry>
<varlistentry>
+ <term>-O, --owner <replaceable class="parameter">owner</replaceable></term>
+ <listitem>
+ <para>
+ Specifies the database user who will own the new database.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term>-D, --location <replaceable class="parameter">datadir</replaceable></term>
<listitem>
<para>
@@ -144,12 +153,13 @@ PostgreSQL documentation
</variablelist>
- The options <literal>-h</literal>, <literal>-p</literal>, <literal>-U</literal>,
- <literal>-W</literal>, and <literal>-e</literal> are passed on literally to
+ The options <option>-h</option>, <option>-p</option>, <option>-U</option>,
+ <option>-W</option>, and <option>-e</option> are passed on literally to
<xref linkend="app-psql">.
- The options <literal>-D</literal>, <literal>-T</literal>, and
- <literal>-E</literal> are converted into options for the underlying
+ The options <option>-O</option>, <option>-D</option>,
+ <option>-T</option>, and
+ <option>-E</option> are converted into options for the underlying
SQL command <xref linkend="SQL-CREATEDATABASE"
endterm="SQL-CREATEDATABASE-title">; see there for more information
about them.
@@ -202,7 +212,14 @@ PostgreSQL documentation
</title>
<para>
<application>createdb</application> creates a new <productname>PostgreSQL</productname>
- database. The user who executes this command becomes the database owner.
+ database.
+ </para>
+
+ <para>
+ Normally, the database user who executes this command becomes the owner of
+ the new database.
+ However a different owner can be specified via the <option>-O</option>
+ option, if the executing user has appropriate privileges.
</para>
<para>
diff --git a/src/bin/scripts/createdb b/src/bin/scripts/createdb
index 34562440461..52d734178dc 100644
--- a/src/bin/scripts/createdb
+++ b/src/bin/scripts/createdb
@@ -12,7 +12,7 @@
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createdb,v 1.19 2002/02/18 05:48:44 momjian Exp $
+# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createdb,v 1.20 2002/02/24 23:27:58 tgl Exp $
#
#-------------------------------------------------------------------------
@@ -23,6 +23,7 @@ MB=
TEMPLATE=
PSQLOPT=
dbname=
+dbowner=
dbcomment=
dbpath=
@@ -71,6 +72,15 @@ do
PSQLOPT="$PSQLOPT -o /dev/null"
;;
# options converted into SQL command
+ --owner|-O)
+ dbowner="$2"
+ shift;;
+ -O*)
+ dbowner=`echo "$1" | sed 's/^-O//'`
+ ;;
+ --owner=*)
+ dbowner=`echo "$1" | sed 's/^--owner=//'`
+ ;;
--location|-D)
dbpath="$2"
shift;;
@@ -127,6 +137,7 @@ if [ "$usage" ]; then
echo " $CMDNAME [options] [dbname] [description]"
echo
echo "Options:"
+ echo " -O, --owner=OWNER Database user to own the new database"
echo " -D, --location=PATH Alternative place to store the database"
echo " -T, --template=TEMPLATE Template database to copy"
echo " -E, --encoding=ENCODING Multibyte encoding for the database"
@@ -170,6 +181,7 @@ dbname=`echo "$dbname" | sed 's/\"/\\\"/g'`
TEMPLATE=`echo "$TEMPLATE" | sed 's/\"/\"\"/g'`
withstring=
+[ "$dbowner" ] && withstring="$withstring OWNER = \"$dbowner\""
[ "$dbpath" ] && withstring="$withstring LOCATION = '$dbpath'"
[ "$MB" ] && withstring="$withstring ENCODING = '$MB'"
[ "$TEMPLATE" ] && withstring="$withstring TEMPLATE = \"$TEMPLATE\""