OSDN Git Service

initdb didn't load pg_description
authorPeter Eisentraut <peter_e@gmx.net>
Thu, 13 Jan 2000 18:22:10 +0000 (18:22 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Thu, 13 Jan 2000 18:22:10 +0000 (18:22 +0000)
src/bin/initdb/initdb.sh

index f3f76cf..c73b2cd 100644 (file)
 #
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.77 1999/12/22 04:23:31 ishii Exp $
+#    $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.78 2000/01/13 18:22:10 petere Exp $
 #
 #-------------------------------------------------------------------------
 
 exit_nicely(){
     echo
     echo "$CMDNAME failed."
-    if [ "$noclean" -eq 0 ]
-       then
+    if [ "$noclean" -eq 0 ]; then
         echo "Removing $PGDATA."
         rm -rf "$PGDATA" || echo "Failed."
+        echo "Removing temp file $TEMPFILE."
+        rm -rf "$TEMPFILE" || echo "Failed."
     else
         echo "Data directory $PGDATA will not be removed at user's request."
     fi
@@ -53,7 +54,11 @@ then
 fi
 
 EffectiveUser=`id -n -u 2>/dev/null || whoami 2>/dev/null`
-TEMPFILE="/tmp/initdb.$$"
+if [ "$TMPDIR" ]; then
+    TEMPFILE="$TMPDIR/initdb.$$"
+else
+    TEMPFILE="/tmp/initdb.$$"
+fi
 
 #
 # Find out where we're located
@@ -547,10 +552,17 @@ echo "CREATE VIEW pg_indexes AS \
         | "$PGPATH"/postgres $PGSQL_OPT template1 > /dev/null || exit_nicely
 
 echo "Loading pg_description."
-echo "COPY pg_description FROM '$TEMPLATE_DESCR'" \
-       | "$PGPATH"/postgres $PGSQL_OPT template1 > /dev/null || exit_nicely
-echo "COPY pg_description FROM '$GLOBAL_DESCR'" \
+echo "COPY pg_description FROM STDIN" > $TEMPFILE
+cat "$TEMPLATE_DESCR" >> $TEMPFILE
+cat "$GLOBAL_DESCR" >> $TEMPFILE
+
+cat $TEMPFILE \
        | "$PGPATH"/postgres $PGSQL_OPT template1 > /dev/null || exit_nicely
+if [ "$noclean" -eq 0 ]
+then
+    rm -f "$TEMPFILE" || exit_nicely
+fi
+
 echo "Vacuuming database."
 echo "VACUUM ANALYZE" \
        | "$PGPATH"/postgres $PGSQL_OPT template1 > /dev/null || exit_nicely