@ -25,7 +30,10 @@ if echo "$0" | grep '/' > /dev/null 2>&1 ; then
else
# look for it in PATH ('which' command is not portable)
echo"$PATH"| sed 's/:/\
/g'|whileread dir;do
/g'|while :;do
IFS="$NL"
read dir || break
IFS="$_IFS"
# empty entry in path means current dir
[ x"$dir"= x ]&&dir='.'
if[ -f "$dir/$CMDNAME"];then
@ -197,9 +205,12 @@ echo
$PSQL -d template1 -At -F '
' -c 'SELECT groname,grosysid,grolist FROM pg_group;'|\
whileread GRONAME ;do
read GROSYSID
read GROLIST
while : ;do
IFS="$NL"
read GRONAME || break
read GROSYSID || break
read GROLIST || break
IFS="$_IFS"
echo"CREATE GROUP \"$GRONAME\" WITH SYSID ${GROSYSID};"
echo"$GROLIST"| sed 's/^{\(.*\)}$/\1/'| tr ',''\n'|
whileread userid;do
@ -224,10 +235,12 @@ exec 4<&0
$PSQL -d template1 -At -F '
' -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;" | \
whileread DATABASE ;do
IFS="$NL"
read DBOWNER
read ENCODING
read ISTEMPLATE
read DBPATH
IFS="$_IFS"
if["$DATABASE" != template1 ];then
echo
@ -251,7 +264,10 @@ done
$PSQL -d template1 -At -F '
' -c "SELECT datname FROM pg_database WHERE datallowconn ORDER BY 1;"|\