mirror of
https://github.com/postgres/postgres.git
synced 2025-07-27 12:41:57 +03:00
Add --template option to createdb script to allow access to WITH TEMPLATE
option of CREATE DATABASE. In pg_regress, create regression database from template0 to ensure that any installation-local cruft in template1 will not mess up the tests.
This commit is contained in:
@ -7,11 +7,12 @@
|
||||
# This program runs psql with the "-c" option to create
|
||||
# the requested database.
|
||||
#
|
||||
# Copyright (c) 1994, Regents of the University of California
|
||||
# Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||
# Portions Copyright (c) 1994, Regents of the University of California
|
||||
#
|
||||
#
|
||||
# IDENTIFICATION
|
||||
# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createdb,v 1.13 2001/01/21 05:16:45 momjian Exp $
|
||||
# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createdb,v 1.14 2001/02/18 17:53:54 tgl Exp $
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
@ -19,6 +20,7 @@ CMDNAME=`basename $0`
|
||||
PATHNAME=`echo $0 | sed "s,$CMDNAME\$,,"`
|
||||
|
||||
MB=
|
||||
TEMPLATE=
|
||||
PSQLOPT=
|
||||
dbname=
|
||||
dbcomment=
|
||||
@ -78,6 +80,15 @@ do
|
||||
--location=*)
|
||||
dbpath=`echo "$1" | sed 's/^--location=//'`
|
||||
;;
|
||||
--template|-T)
|
||||
TEMPLATE="$2"
|
||||
shift;;
|
||||
-T*)
|
||||
TEMPLATE=`echo "$1" | sed 's/^-T//'`
|
||||
;;
|
||||
--template=*)
|
||||
TEMPLATE=`echo "$1" | sed 's/^--template=//'`
|
||||
;;
|
||||
--encoding|-E)
|
||||
MB="$2"
|
||||
shift;;
|
||||
@ -111,6 +122,7 @@ if [ "$usage" ]; then
|
||||
echo
|
||||
echo "Options:"
|
||||
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"
|
||||
echo " -h, --host=HOSTNAME Database server host"
|
||||
echo " -p, --port=PORT Database server port"
|
||||
@ -149,10 +161,12 @@ fi
|
||||
# escape the quotes
|
||||
dbpath=`echo "$dbpath" | sed "s/'/\\\\\'/g"`
|
||||
dbname=`echo "$dbname" | sed 's/\"/\\\"/g'`
|
||||
TEMPLATE=`echo "$TEMPLATE" | sed 's/\"/\"\"/g'`
|
||||
|
||||
withstring=
|
||||
[ "$dbpath" ] && withstring="$withstring LOCATION = '$dbpath'"
|
||||
[ "$MB" ] && withstring="$withstring ENCODING = '$MB'"
|
||||
[ "$TEMPLATE" ] && withstring="$withstring TEMPLATE = \"$TEMPLATE\""
|
||||
[ "$withstring" ] && withstring=" WITH$withstring"
|
||||
|
||||
${PATHNAME}psql $PSQLOPT -d template1 -c "CREATE DATABASE \"$dbname\"$withstring"
|
||||
|
@ -1,5 +1,5 @@
|
||||
#! /bin/sh
|
||||
# $Header: /cvsroot/pgsql/src/test/regress/Attic/pg_regress.sh,v 1.18 2001/01/19 23:43:36 petere Exp $
|
||||
# $Header: /cvsroot/pgsql/src/test/regress/Attic/pg_regress.sh,v 1.19 2001/02/18 17:53:55 tgl Exp $
|
||||
|
||||
me=`basename $0`
|
||||
: ${TMPDIR=/tmp}
|
||||
@ -420,10 +420,12 @@ fi
|
||||
|
||||
# ----------
|
||||
# Create the regression database
|
||||
# We use template0 so that any installation-local cruft in template1
|
||||
# will not mess up the tests.
|
||||
# ----------
|
||||
|
||||
message "creating database \"$dbname\""
|
||||
"$bindir/createdb" $encoding_opt $psql_options "$dbname"
|
||||
"$bindir/createdb" $encoding_opt $psql_options --template template0 "$dbname"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "$me: createdb failed"
|
||||
(exit 2); exit
|
||||
|
Reference in New Issue
Block a user