diff options
author | Bruce Momjian | 2002-04-12 09:37:11 +0000 |
---|---|---|
committer | Bruce Momjian | 2002-04-12 09:37:11 +0000 |
commit | 6b29c38ee7d50dfd5926db4cc33b5c1179d88600 (patch) | |
tree | 6acb8b30f728ca00e0b7e793b5335e468a5d9bfd | |
parent | 8ff92ebb5bc5ff85b94c70e0ac1ab18696eef6ca (diff) |
Allow dropdb and others to use identifiers with spaces; IFS cleanup for
pg_dumpall.
-rw-r--r-- | src/bin/pg_dump/pg_dumpall.sh | 14 | ||||
-rw-r--r-- | src/bin/scripts/createdb | 8 | ||||
-rw-r--r-- | src/bin/scripts/createlang.sh | 8 | ||||
-rw-r--r-- | src/bin/scripts/createuser | 8 | ||||
-rw-r--r-- | src/bin/scripts/dropdb | 10 | ||||
-rw-r--r-- | src/bin/scripts/droplang | 8 | ||||
-rw-r--r-- | src/bin/scripts/dropuser | 8 | ||||
-rw-r--r-- | src/bin/scripts/vacuumdb | 8 |
8 files changed, 38 insertions, 34 deletions
diff --git a/src/bin/pg_dump/pg_dumpall.sh b/src/bin/pg_dump/pg_dumpall.sh index 5b5972b02b..c9b2fcd33d 100644 --- a/src/bin/pg_dump/pg_dumpall.sh +++ b/src/bin/pg_dump/pg_dumpall.sh @@ -42,6 +42,7 @@ else fi done fi +IFS="$_IFS" # As last resort use the installation directory. We don't want to use # this as first resort because depending on how users do release upgrades @@ -218,6 +219,7 @@ while : ; do echo " ALTER GROUP \"$GRONAME\" ADD USER \"$username\";" done done +IFS="$_IFS" test "$globals_only" = yes && exit 0 @@ -234,12 +236,13 @@ exec 4<&0 $PSQL -d template1 -At -F "$NL" \ -c "SELECT datname, coalesce(usename, (select usename from pg_shadow where usesysid=(select datdba from pg_database where datname='template0'))), pg_encoding_to_char(d.encoding), datistemplate, datpath FROM pg_database d LEFT JOIN pg_shadow u ON (datdba = usesysid) WHERE datallowconn ORDER BY 1;" | \ -while read DATABASE ; do +while : ; do IFS="$NL" - read DBOWNER - read ENCODING - read ISTEMPLATE - read DBPATH + read DATABASE || break + read DBOWNER || break + read ENCODING || break + read ISTEMPLATE || break + read DBPATH || break IFS="$_IFS" if [ "$DATABASE" != template1 ] ; then echo @@ -261,6 +264,7 @@ while read DATABASE ; do fi fi done +IFS="$_IFS" $PSQL -d template1 -At -F "$NL" \ -c "SELECT datname FROM pg_database WHERE datallowconn ORDER BY 1;" | \ diff --git a/src/bin/scripts/createdb b/src/bin/scripts/createdb index 6b4fdc1c13..375fc926ea 100644 --- a/src/bin/scripts/createdb +++ b/src/bin/scripts/createdb @@ -17,7 +17,7 @@ #------------------------------------------------------------------------- CMDNAME=`basename "$0"` -PATHNAME=`echo $0 | sed "s,$CMDNAME\$,,"` +PATHNAME=`echo "$0" | sed "s,$CMDNAME\$,,"` MB= TEMPLATE= @@ -42,7 +42,7 @@ do PSQLOPT="$PSQLOPT $1" ;; --host=*) - PSQLOPT="$PSQLOPT -h "`echo $1 | sed 's/^--host=//'` + PSQLOPT="$PSQLOPT -h `echo \"$1\" | sed 's/^--host=//'`" ;; --port|-p) PSQLOPT="$PSQLOPT -p $2" @@ -51,7 +51,7 @@ do PSQLOPT="$PSQLOPT $1" ;; --port=*) - PSQLOPT="$PSQLOPT -p "`echo $1 | sed 's/^--port=//'` + PSQLOPT="$PSQLOPT -p `echo \"$1\" | sed 's/^--port=//'`" ;; --username|-U) PSQLOPT="$PSQLOPT -U $2" @@ -60,7 +60,7 @@ do PSQLOPT="$PSQLOPT $1" ;; --username=*) - PSQLOPT="$PSQLOPT -U "`echo $1 | sed 's/^--username=//'` + PSQLOPT="$PSQLOPT -U `echo \"$1\" | sed 's/^--username=//'`" ;; --password|-W) PSQLOPT="$PSQLOPT -W" diff --git a/src/bin/scripts/createlang.sh b/src/bin/scripts/createlang.sh index dba46a5fab..0f8f462219 100644 --- a/src/bin/scripts/createlang.sh +++ b/src/bin/scripts/createlang.sh @@ -12,7 +12,7 @@ #------------------------------------------------------------------------- CMDNAME=`basename "$0"` -PATHNAME=`echo $0 | sed "s,$CMDNAME\$,,"` +PATHNAME=`echo "$0" | sed "s,$CMDNAME\$,,"` PSQLOPT= dbname= @@ -55,7 +55,7 @@ do PSQLOPT="$PSQLOPT $1" ;; --host=*) - PSQLOPT="$PSQLOPT -h "`echo $1 | sed 's/^--host=//'` + PSQLOPT="$PSQLOPT -h `echo \"$1\" | sed 's/^--host=//'`" ;; --port|-p) PSQLOPT="$PSQLOPT -p $2" @@ -64,7 +64,7 @@ do PSQLOPT="$PSQLOPT $1" ;; --port=*) - PSQLOPT="$PSQLOPT -p "`echo $1 | sed 's/^--port=//'` + PSQLOPT="$PSQLOPT -p `echo \"$1\" | sed 's/^--port=//'`" ;; --username|-U) PSQLOPT="$PSQLOPT -U $2" @@ -73,7 +73,7 @@ do PSQLOPT="$PSQLOPT $1" ;; --username=*) - PSQLOPT="$PSQLOPT -U "`echo $1 | sed 's/^--username=//'` + PSQLOPT="$PSQLOPT -U `echo \"$1\" | sed 's/^--username=//'`" ;; --password|-W) PSQLOPT="$PSQLOPT -W" diff --git a/src/bin/scripts/createuser b/src/bin/scripts/createuser index b7a4cb9e44..82776868b2 100644 --- a/src/bin/scripts/createuser +++ b/src/bin/scripts/createuser @@ -16,7 +16,7 @@ #------------------------------------------------------------------------- CMDNAME=`basename "$0"` -PATHNAME=`echo $0 | sed "s,$CMDNAME\$,,"` +PATHNAME=`echo "$0" | sed "s,$CMDNAME\$,,"` NewUser= SysID= @@ -54,7 +54,7 @@ do PSQLOPT="$PSQLOPT $1" ;; --host=*) - PSQLOPT="$PSQLOPT -h "`echo $1 | sed 's/^--host=//'` + PSQLOPT="$PSQLOPT -h `echo \"$1\" | sed 's/^--host=//'`" ;; --port|-p) PSQLOPT="$PSQLOPT -p $2" @@ -63,7 +63,7 @@ do PSQLOPT="$PSQLOPT $1" ;; --port=*) - PSQLOPT="$PSQLOPT -p "`echo $1 | sed 's/^--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. @@ -74,7 +74,7 @@ do PSQLOPT="$PSQLOPT $1" ;; --username=*) - PSQLOPT="$PSQLOPT -U "`echo $1 | sed 's/^--username=//'` + PSQLOPT="$PSQLOPT -U `echo \"$1\" | sed 's/^--username=//'`" ;; --password|-W) PSQLOPT="$PSQLOPT -W" diff --git a/src/bin/scripts/dropdb b/src/bin/scripts/dropdb index 4e46b97f11..4f26e1b9a1 100644 --- a/src/bin/scripts/dropdb +++ b/src/bin/scripts/dropdb @@ -16,7 +16,7 @@ #------------------------------------------------------------------------- CMDNAME=`basename "$0"` -PATHNAME=`echo $0 | sed "s,$CMDNAME\$,,"` +PATHNAME=`echo "$0" | sed "s,$CMDNAME\$,,"` PSQLOPT= dbname= @@ -49,7 +49,7 @@ do PSQLOPT="$PSQLOPT $1" ;; --host=*) - PSQLOPT="$PSQLOPT -h "`echo $1 | sed 's/^--host=//'` + PSQLOPT="$PSQLOPT -h `echo \"$1\" | sed 's/^--host=//'`" ;; --port|-p) PSQLOPT="$PSQLOPT -p $2" @@ -58,7 +58,7 @@ do PSQLOPT="$PSQLOPT $1" ;; --port=*) - PSQLOPT="$PSQLOPT -p "`echo $1 | sed 's/^--port=//'` + PSQLOPT="$PSQLOPT -p `echo \"$1\" | sed 's/^--port=//'`" ;; --username|-U) PSQLOPT="$PSQLOPT -U $2" @@ -67,7 +67,7 @@ do PSQLOPT="$PSQLOPT $1" ;; --username=*) - PSQLOPT="$PSQLOPT -U "`echo $1 | sed 's/^--username=//'` + PSQLOPT="$PSQLOPT -U `echo \"$1\" | sed 's/^--username=//'`" ;; --password|-W) PSQLOPT="$PSQLOPT -W" @@ -136,7 +136,7 @@ if [ "$forcedel" = f ]; then fi -dbname=`echo $dbname | sed 's/\"/\\\"/g'` +dbname=`echo "$dbname" | sed 's/\"/\\\"/g'` ${PATHNAME}psql $PSQLOPT -d template1 -c "DROP DATABASE \"$dbname\"" if [ "$?" -ne 0 ]; then diff --git a/src/bin/scripts/droplang b/src/bin/scripts/droplang index 7ecb63a045..17b936c4c1 100644 --- a/src/bin/scripts/droplang +++ b/src/bin/scripts/droplang @@ -12,7 +12,7 @@ #------------------------------------------------------------------------- CMDNAME=`basename "$0"` -PATHNAME=`echo $0 | sed "s,$CMDNAME\$,,"` +PATHNAME=`echo "$0" | sed "s,$CMDNAME\$,,"` PSQLOPT= dbname= @@ -54,7 +54,7 @@ do PSQLOPT="$PSQLOPT $1" ;; --host=*) - PSQLOPT="$PSQLOPT -h "`echo $1 | sed 's/^--host=//'` + PSQLOPT="$PSQLOPT -h `echo \"$1\" | sed 's/^--host=//'`" ;; --port|-p) PSQLOPT="$PSQLOPT -p $2" @@ -63,7 +63,7 @@ do PSQLOPT="$PSQLOPT $1" ;; --port=*) - PSQLOPT="$PSQLOPT -p "`echo $1 | sed 's/^--port=//'` + PSQLOPT="$PSQLOPT -p `echo \"$1\" | sed 's/^--port=//'`" ;; --username|-U) PSQLOPT="$PSQLOPT -U $2" @@ -72,7 +72,7 @@ do PSQLOPT="$PSQLOPT $1" ;; --username=*) - PSQLOPT="$PSQLOPT -U "`echo $1 | sed 's/^--username=//'` + PSQLOPT="$PSQLOPT -U `echo \"$1\" | sed 's/^--username=//'`" ;; --password|-W) PSQLOPT="$PSQLOPT -W" diff --git a/src/bin/scripts/dropuser b/src/bin/scripts/dropuser index 5e29afef0e..f5dd9cc364 100644 --- a/src/bin/scripts/dropuser +++ b/src/bin/scripts/dropuser @@ -16,7 +16,7 @@ #------------------------------------------------------------------------- CMDNAME=`basename "$0"` -PATHNAME=`echo $0 | sed "s,$CMDNAME\$,,"` +PATHNAME=`echo "$0" | sed "s,$CMDNAME\$,,"` PSQLOPT= forcedel=t @@ -49,7 +49,7 @@ do PSQLOPT="$PSQLOPT $1" ;; --host=*) - PSQLOPT="$PSQLOPT -h "`echo $1 | sed 's/^--host=//'` + PSQLOPT="$PSQLOPT -h `echo \"$1\" | sed 's/^--host=//'`" ;; --port|-p) PSQLOPT="$PSQLOPT -p $2" @@ -58,7 +58,7 @@ do PSQLOPT="$PSQLOPT $1" ;; --port=*) - PSQLOPT="$PSQLOPT -p "`echo $1 | sed 's/^--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. @@ -69,7 +69,7 @@ do PSQLOPT="$PSQLOPT $1" ;; --username=*) - PSQLOPT="$PSQLOPT -U "`echo $1 | sed 's/^--username=//'` + PSQLOPT="$PSQLOPT -U `echo \"$1\" | sed 's/^--username=//'`" ;; --password|-W) PSQLOPT="$PSQLOPT -W" diff --git a/src/bin/scripts/vacuumdb b/src/bin/scripts/vacuumdb index beae833c16..04a70943b6 100644 --- a/src/bin/scripts/vacuumdb +++ b/src/bin/scripts/vacuumdb @@ -17,7 +17,7 @@ #------------------------------------------------------------------------- CMDNAME=`basename "$0"` -PATHNAME=`echo $0 | sed "s,$CMDNAME\$,,"` +PATHNAME=`echo "$0" | sed "s,$CMDNAME\$,,"` PSQLOPT= full= @@ -43,7 +43,7 @@ do PSQLOPT="$PSQLOPT $1" ;; --host=*) - PSQLOPT="$PSQLOPT -h "`echo $1 | sed 's/^--host=//'` + PSQLOPT="$PSQLOPT -h `echo \"$1\" | sed 's/^--host=//'`" ;; --port|-p) PSQLOPT="$PSQLOPT -p $2" @@ -52,7 +52,7 @@ do PSQLOPT="$PSQLOPT $1" ;; --port=*) - PSQLOPT="$PSQLOPT -p "`echo $1 | sed 's/^--port=//'` + PSQLOPT="$PSQLOPT -p `echo \"$1\" | sed 's/^--port=//'`" ;; --username|-U) PSQLOPT="$PSQLOPT -U $2" @@ -61,7 +61,7 @@ do PSQLOPT="$PSQLOPT $1" ;; --username=*) - PSQLOPT="$PSQLOPT -U "`echo $1 | sed 's/^--username=//'` + PSQLOPT="$PSQLOPT -U `echo \"$1\" | sed 's/^--username=//'`" ;; --password|-W) PSQLOPT="$PSQLOPT -W" |