2727# Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
2828# Portions Copyright (c) 1994, Regents of the University of California
2929#
30- # $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.132 2001/08/10 18:57:38 tgl Exp $
30+ # $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.133 2001/08/25 00:31:17 petere Exp $
3131#
3232# -------------------------------------------------------------------------
3333
@@ -343,14 +343,16 @@ POSTGRESQL_CONF_SAMPLE="$datadir"/postgresql.conf.sample
343343
344344if [" $show_setting " = yes ]|| [" $debug " = yes ]
345345then
346+ (
346347echo
347- echo " Initdb variables:"
348+ echo " initdb variables:"
348349for var in PGDATA datadir PGPATH MULTIBYTE MULTIBYTEID \
349350 POSTGRES_SUPERUSERNAME POSTGRES_SUPERUSERID POSTGRES_BKI \
350351 POSTGRES_DESCR POSTGRESQL_CONF_SAMPLE \
351352PG_HBA_SAMPLE PG_IDENT_SAMPLE; do
352353eval " echo ' '$var =\$ $var "
353354done
355+ )1>&2
354356fi
355357
356358if [" $show_setting " = yes ]; then
386388trap ' echo "Caught signal." ; exit_nicely' 1 2 3 15
387389
388390# Let's go
389- echo " This database system will be initialized withusername \" $POSTGRES_SUPERUSERNAME \" ."
391+ echo " This database system will be initialized withuser name \" $POSTGRES_SUPERUSERNAME \" ."
390392echo " This user will own all the data files and must also own the server process."
391393echo
392394
@@ -411,28 +413,32 @@ then
411413exit 1
412414else
413415if [! -d " $PGDATA " ]; then
414- echo " Creating directory$PGDATA "
416+ $ECHO_N " creating directory$PGDATA ... " $ECHO_C
415417 mkdir -p" $PGDATA " > /dev/null2>&1 || mkdir" $PGDATA " || exit_nicely
416418 made_new_pgdata=yes
417419else
418- echo " Fixing permissions on existing directory$PGDATA "
420+ $ECHO_N " Fixing permissions on existing directory$PGDATA ... " $ECHO_C
419421chmod go-rwx" $PGDATA " || exit_nicely
420422fi
423+ echo " ok"
421424
422425if [! -d " $PGDATA " /base ]
423426then
424- echo " Creating directory$PGDATA /base"
427+ $ECHO_N " creating directory$PGDATA /base... " $ECHO_C
425428 mkdir" $PGDATA " /base|| exit_nicely
429+ echo " ok"
426430fi
427431if [! -d " $PGDATA " /global ]
428432then
429- echo " Creating directory$PGDATA /global"
433+ $ECHO_N " creating directory$PGDATA /global... " $ECHO_C
430434 mkdir" $PGDATA " /global|| exit_nicely
435+ echo " ok"
431436fi
432437if [! -d " $PGDATA " /pg_xlog ]
433438then
434- echo " Creating directory$PGDATA /pg_xlog"
439+ $ECHO_N " creating directory$PGDATA /pg_xlog... " $ECHO_C
435440 mkdir" $PGDATA " /pg_xlog|| exit_nicely
441+ echo " ok"
436442fi
437443fi
438444
441447#
442448# RUN BKI SCRIPT IN BOOTSTRAP MODE TO CREATE TEMPLATE1
443449
444- rm -rf " $PGDATA " /base/1 || exit_nicely
445- mkdir " $PGDATA " /base/1 || exit_nicely
450+ # common backend options
451+ PGSQL_OPT= " -F -D $PGDATA "
446452
447453if [" $debug " = yes ]
448454then
449455 BACKEND_TALK_ARG=" -d"
456+ else
457+ PGSQL_OPT=" $PGSQL_OPT -o /dev/null"
450458fi
451459
452- FIRSTRUN=" -boot -x1 -F -D$PGDATA $BACKEND_TALK_ARG "
453460
454- echo " Creating template1 database in$PGDATA /base/1"
455- [" $debug " = yes ]&& echo " Running:$PGPATH /postgres$FIRSTRUN template1"
461+ $ECHO_N " creating template1 database in$PGDATA /base/1..." $ECHO_C
462+
463+ rm -rf" $PGDATA " /base/1|| exit_nicely
464+ mkdir" $PGDATA " /base/1|| exit_nicely
456465
457466cat" $POSTGRES_BKI " \
458467| sed -e" s/POSTGRES/$POSTGRES_SUPERUSERNAME /g" \
459468 -e" s/PGUID/$POSTGRES_SUPERUSERID /g" \
460469 -e" s/ENCODING/$MULTIBYTEID /g" \
461- | " $PGPATH " /postgres$FIRSTRUN template1 \
470+ | " $PGPATH " /postgres-boot -x1 $PGSQL_OPT $BACKEND_TALK_ARG template1 \
462471|| exit_nicely
463472
464473echo $short_version > " $PGDATA " /base/1/PG_VERSION|| exit_nicely
465474
475+ echo " ok"
476+
466477# #########################################################################
467478#
468479# CREATE CONFIG FILES
469480
481+ $ECHO_N " creating configuration files..." $ECHO_C
482+
470483echo $short_version > " $PGDATA /PG_VERSION" || exit_nicely
471484
472485cp" $PG_HBA_SAMPLE " " $PGDATA " /pg_hba.conf|| exit_nicely
@@ -475,6 +488,8 @@ cp "$POSTGRESQL_CONF_SAMPLE" "$PGDATA"/postgresql.conf || exit_nicely
475488chmod 0600" $PGDATA " /pg_hba.conf" $PGDATA " /pg_ident.conf \
476489" $PGDATA " /postgresql.conf
477490
491+ echo " ok"
492+
478493# #########################################################################
479494#
480495# CREATE VIEWS and other things
@@ -484,14 +499,9 @@ chmod 0600 "$PGDATA"/pg_hba.conf "$PGDATA"/pg_ident.conf \
484499# To break an SQL command across lines in this script, backslash-escape all
485500# internal newlines in the command.
486501
487- if [" $debug " = yes ]
488- then
489- PGSQL_OPT=" -O -F -D$PGDATA "
490- else
491- PGSQL_OPT=" -o /dev/null -O -F -D$PGDATA "
492- fi
502+ PGSQL_OPT=" $PGSQL_OPT -O"
493503
494- echo " Initializing pg_shadow."
504+ $ECHO_N " initializing pg_shadow... " $ECHO_C
495505
496506" $PGPATH " /postgres$PGSQL_OPT template1> /dev/null<< EOF
497507-- Create a trigger so that direct updates to pg_shadow will be written
505515if [" $? " -ne 0 ]; then
506516 exit_nicely
507517fi
518+ echo " ok"
508519
509520# set up password
510521if [" $PwPrompt " ]; then
@@ -522,21 +533,23 @@ if [ "$PwPrompt" ]; then
522533echo " Passwords didn't match." 1>&2
523534 exit_nicely
524535fi
536+ $ECHO_N " setting password..." $ECHO_C
525537" $PGPATH " /postgres$PGSQL_OPT template1> /dev/null<< EOF
526538ALTER USER "$POSTGRES_SUPERUSERNAME " WITH PASSWORD '$FirstPw ';
527539EOF
528540if [" $? " -ne 0 ]; then
529541exit_nicely
530542fi
531543if [! -f $PGDATA /global/pg_pwd ]; then
544+ echo
532545echo " The password file wasn't generated. Please report this problem." 1>&2
533546 exit_nicely
534547fi
535- echo " Setting password "
548+ echo " ok "
536549fi
537550
538551
539- echo " Enabling unlimited rowwidth for system tables."
552+ $ECHO_N " enabling unlimited rowsize for system tables... " $ECHO_C
540553
541554" $PGPATH " /postgres$PGSQL_OPT template1> /dev/null<< EOF
542555ALTER TABLE pg_attrdef CREATE TOAST TABLE;
549562if [" $? " -ne 0 ]; then
550563 exit_nicely
551564fi
565+ echo " ok"
552566
553567
554- echo " Creating system views."
568+ $ECHO_N " creating system views... " $ECHO_C
555569
556570" $PGPATH " /postgres$PGSQL_OPT template1> /dev/null<< EOF
557571
795809if [" $? " -ne 0 ]; then
796810 exit_nicely
797811fi
812+ echo " ok"
798813
799- echo " Loading pg_description."
814+ $ECHO_N " loading pg_description... " $ECHO_C
800815(
801816 cat<< EOF
802817 CREATE TEMP TABLE tmp_pg_description (\
@@ -815,17 +830,19 @@ EOF
815830EOF
816831) \
817832| " $PGPATH " /postgres$PGSQL_OPT template1> /dev/null|| exit_nicely
833+ echo " ok"
818834
819- echo " Vacuuming database. "
835+ $ECHO_N " vacuuming database template1... " $ECHO_C
820836
821837" $PGPATH " /postgres$PGSQL_OPT template1> /dev/null<< EOF
822838VACUUM FULL ANALYZE;
823839EOF
824840if [" $? " -ne 0 ]; then
825841 exit_nicely
826842fi
843+ echo " ok"
827844
828- echo " Copying template1 to template0."
845+ $ECHO_N " copying template1 to template0... " $ECHO_C
829846
830847" $PGPATH " /postgres$PGSQL_OPT template1> /dev/null<< EOF
831848CREATE DATABASE template0;
845862if [" $? " -ne 0 ]; then
846863 exit_nicely
847864fi
865+ echo " ok"
848866
849867
850868# #########################################################################