]> granicus.if.org Git - postgresql/commitdiff
Add -O/--owner switch to createdb script, in support of new OWNER option
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 24 Feb 2002 23:27:58 +0000 (23:27 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 24 Feb 2002 23:27:58 +0000 (23:27 +0000)
for CREATE DATABASE.

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

index 2e90888ee9fb8a6cc23279f236f8125fbd8c6690..b7e189296e8a9a8345e2cca7ceb4551e2e0ee6a9 100644 (file)
@@ -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
 -->
 
@@ -92,6 +92,15 @@ PostgreSQL documentation
       </listitem>
      </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>
@@ -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>
index 345624404619e1c5332cd1aea45e99f053be3e39..52d734178dc569d2ccba94ba491ed8ef8d808a2c 100644 (file)
@@ -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\""