diff --git a/doc/src/sgml/ref/initdb.sgml b/doc/src/sgml/ref/initdb.sgml
index 200c030ed48..2e235c082c9 100644
--- a/doc/src/sgml/ref/initdb.sgml
+++ b/doc/src/sgml/ref/initdb.sgml
@@ -1,5 +1,5 @@
@@ -15,24 +15,26 @@ Postgres documentation
initdb
- Create a new Postgres database installation
+ Create a new PostgreSQL database installation
- 1999-07-20
+ 1999-12-17
-initdb [ --pgdata=dbdir | -r dbdir ]
- [ --pglib=libdir | -l libdir ]
- [ --template=template | -t template ]
- [ --username=name | -u name ]
- [ --noclean | -n ] [ --debug | -d ]
+initdb [ --pgdata|-D dbdir ]
+ [ --sysid|-i sysid ]
+ [ --password|-W password ]
+ [ --pgencoding|-e encoding ]
+ [ --pglib|-L libdir ]
+ [ --username|-u name ]
+ [ --noclean | -n ] [ --debug | -d ] [ --template | -t ]
- 1998-10-02
+ 1999-11-17
Inputs
@@ -40,63 +42,62 @@ initdb [ --pgdata=dbdir | -r
-
- --pglib=libdir
- -l libdir
- PGLIB
-
-
- Where are the files that make up Postgres?
- Apart from files that
- have to go in particular directories because of their function, the
- files that make up the Postgres software
- were installed in a directory
- called the libdir directory.
- An example of a file that will be found
- there that initdb
- needs is global1.bki.source,
- which contains all the information that goes
- into the shared catalog tables.
-
-
-
-
--pgdata=dbdir
- -r dbdir
+ -D dbdirPGDATA
- Where in your Unix filesystem do you want the database data to go?
- The top level directory is called the PGDATA directory.
+ This option specifies where in the file system the database should be
+ stored. This is the only information required by initdb, but you can avoid
+ it by setting the PGDATA environment variable, which
+ can be convenient since the database server (postmaster)
+ can find the database directory later by the same variable.
- --username=name
- -u name
- PGUSER
+ --sysid=sysid
+ -i sysid
- Who will be the Postgres superuser
- for this database system? The
- Postgres superuser is a Unix user
- who owns all files that store the database
- system and also owns the postmaster and backend processes that access them.
- Or just let it default to you (the Unix user who runs
- initdb).
+ Selects the system id of the database superuser. This defaults to
+ the effective user id of the user running initdb. It is really
+ not important what the superuser's sysid is, but one might choose
+ to start the numbering at some number like 0 or 1.
-
-
- Only the Unix superuser (root)
- can create a database system with an owner
- different from the Postgres superuser.
-
-
-
+
+
+ --password=password
+ -W password
+
+
+ Sets the password of the database superuser. If you don't plan
+ on using password authentication, this is not important. If you
+ do, you can save yourself a trip by specifying it here, but you
+ can always change it later. The default password is empty.
+
+
+
+
+
+ --pgencoding=encoding
+ -e encoding
+
+
+ Selects the multibyte encoding of the template database. This will also
+ be the default encoding of any database you create later, unless you
+ override it there. To use the multibyte encoding feature, you must
+ specify so at build time, at which time you also select the default
+ for this option.
+
+
+
+
+
@@ -104,15 +105,46 @@ initdb [ --pgdata=dbdir | -r
- --template=template
- -t template
+ --pglib=libdir
+ -l libdir
+
+
+ initdb needs a few input files to initialize the database. This option
+ tells where to find them. You normally don't have to worry about this
+ since initdb knows about the most common installation layouts and will
+ find the files itself. You will be told if you need to specify their
+ location explicitly. If that happens, one of the files is called
+ global1.bki.source and is traditionally installed
+ along with the others in the library directory (e.g.,
+ /usr/local/pgsql/lib).
+
+
+
+
+
+ --username=name
+ -u name
+
+
+ The database system will be initialized with the username that is
+ running initdb. That is a requirement. If for some unimaginable
+ reason initdb cannot find out what the current user's name is,
+ you have to use this option. Normally, this will not be necessary
+ and initdb will tell you when it is.
+
+
+
+
+
+ --template
+ -t
Replace the template1
database in an existing database system, and don't touch anything else.
This is useful when you need to upgrade your template1
database using initdb
- from a newer release of Postgres,
+ from a newer release of PostgreSQL,
or when your template1
database has become corrupted by some system problem. Normally the
contents of template1
@@ -133,8 +165,7 @@ initdb [ --pgdata=dbdir | -r initdb
determines that error prevent it from completely creating the database
system, it removes any files it may have created before determining
- that it can't finish the job. That includes any core files left by
- the programs it invokes. This option inhibits any tidying-up and is
+ that it can't finish the job. This option inhibits any tidying-up and is
thus useful for debugging.
@@ -145,10 +176,11 @@ initdb [ --pgdata=dbdir | -r -d
- Print debugging output from the bootstrap backend.
+ Print debugging output from the bootstrap backend and a few other
+ messages of lesser interest for the general public.
The bootstrap backend is the program initdb
uses to create the catalog tables. This option generates a tremendous
- amount of output. It also turns off the final vacuuming step.
+ amount of output.
@@ -156,56 +188,17 @@ initdb [ --pgdata=dbdir | -r
-
- Files are also input to initdb:
-
-
-
- postconfig
-
-
- If appearing somewhere in the Unix command search path
- (defined by the PATH environment variable).
- This is a program that specifies defaults for some of the
- command options. See below.
-
-
-
-
-
- PGLIB/global1.bki.source
-
-
- Contents for the shared catalog tables in the new database system. This
- file is part of the Postgres software.
-
-
-
-
-
- PGLIB/local1_template1.bki.source
-
-
- Contents for the template1 tables in the new database system. This
- file is part of the Postgres software.
-
-
-
-
-
-
- 1998-09-26
+ 1999-12-17
Outputs
- initdb will create files in the
- PGDATA
+ initdb will create files in the specified
data area which are the system tables and framework for a complete
installation.
@@ -214,14 +207,14 @@ initdb [ --pgdata=dbdir | -r
- 1998-09-26
+ 1999-12-17
Description
initdb creates a new
- Postgres database system.
+ PostgreSQL database system.
A database system is a
collection of databases that are all administered by the same Unix user
and managed by a single postmaster.
@@ -231,74 +224,37 @@ initdb [ --pgdata=dbdir | -r template1
- database. What is the template1
- database? When you create a database, Postgres
- does it by copying
- everything from the template1
- database. It contains catalog tables filled in for things like the
+ database. When you create a new database, everything in the
+ template1 database is copied.
+ It contains catalog tables filled in for things like the
builtin types.
-
- After initdb
- creates the database, it completes the initialization by running
- vacuum, which resets some optimization parameters.
-
-
- There are three ways to give parameters to initdb.
-
-
-
- You can use initdb command options.
-
-
-
-
- You can set environment
- variables before invoking initdb.
-
-
-
-
-
- You can have a program called postconfig
- in your Unix command search path.
- initdb invokes that program and that program then writes
- initdb parameters to its standard output stream.
- This third option is not a common thing to do, however.
-
-
-
+
+ You must not execute initdb as root. This is
+ because you cannot run the database server as root either, but the
+ server needs to have access to the files initdb
+ creates. Furthermore, during the initialization phase, when there are no
+ users and no access controls installed, postgres will only connect with
+ the name of the current Unix user, so you must log in under the account
+ that will own the server process.
- Command options always override parameters specified any other way.
- The values returned by postconfig
- override any environment variables, but your
- postconfig
- program may base its output on the environment variables if you want
- their values to be used.
+ Although initdb will attempt to create the respective
+ data directory, chances are that it won't have the permission to do so. Thus
+ it is a good idea to create the data directory before running initdb
+ and to hand over the ownership of it to the database superuser.
- The value that postconfig
- outputs must have the format
-
-var1=value1var2=value2 ...
-
-
- It can output nothing if it doesn't want to supply any parameters.
- The var values are equal to
- the corresponding environment variable
- names. For example,
-
-PGDATA=/tmp/postgres_test
-
- has the
- same effect as invoking initdb
- with an environment variable called PGDATA whose value is
- /tmp/postgres_test.
+ Note that if you use the you must give correct
+ information about the name of the current user. If you don't
+ this will usually manifest itself in an error message about chmod
+ failing on a file pg_pwd, because the backend silently
+ refuses to create it.
+
diff --git a/src/bin/initdb/initdb.sh b/src/bin/initdb/initdb.sh
index 4ccd718fc73..245f3455f94 100644
--- a/src/bin/initdb/initdb.sh
+++ b/src/bin/initdb/initdb.sh
@@ -26,7 +26,7 @@
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.65 1999/12/16 20:09:56 momjian Exp $
+# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.66 1999/12/17 01:05:30 momjian Exp $
#
#-------------------------------------------------------------------------
@@ -291,38 +291,31 @@ umask 077
if [ -f "$PGDATA/PG_VERSION" ]; then
if [ $template_only -eq 0 ]; then
- echo "$CMDNAME: error: File $PGDATA/PG_VERSION already exists."
- echo "This probably means initdb has already been run and the "
+ echo "$CMDNAME: The file $PGDATA/PG_VERSION already exists."
+ echo "This probably means initdb has already been run and the"
echo "database system already exists."
echo
- echo "If you want to create a new database system, either remove "
- echo "the directory $PGDATA or run initdb with a --pgdata option "
+ echo "If you want to create a new database system, either remove"
+ echo "the directory $PGDATA or run initdb with a --pgdata argument"
echo "other than $PGDATA."
exit 1
fi
else
if [ ! -d $PGDATA ]; then
- echo "Creating Postgres database system directory $PGDATA"
- echo
- mkdir $PGDATA
- if [ $? -ne 0 ]; then exit 5; fi
- else
- echo "Fixing permissions on pre-existing $PGDATA"
- echo
- chmod go-rwx $PGDATA
- if [ $? -ne 0 ]; then exit 5; fi
+ echo "Creating database system directory $PGDATA"
+ mkdir $PGDATA || exit_nicely
+ else
+ echo "Fixing permissions on pre-existing data directory $PGDATA"
+ chmod go-rwx $PGDATA || exit_nicely
fi
+
if [ ! -d $PGDATA/base ]; then
- echo "Creating Postgres database system directory $PGDATA/base"
- echo
- mkdir $PGDATA/base
- if [ $? -ne 0 ]; then exit 5; fi
+ echo "Creating database system directory $PGDATA/base"
+ mkdir $PGDATA/base || exit_nicely
fi
if [ ! -d $PGDATA/pg_xlog ]; then
- echo "Creating Postgres database XLOG directory $PGDATA/pg_xlog"
- echo
- mkdir $PGDATA/pg_xlog
- if [ $? -ne 0 ]; then exit 5; fi
+ echo "Creating database XLOG directory $PGDATA/pg_xlog"
+ mkdir $PGDATA/pg_xlog || exit_nicely
fi
fi
@@ -330,8 +323,8 @@ fi
# Create the template1 database
#----------------------------------------------------------------------------
-rm -rf $PGDATA/base/template1
-mkdir $PGDATA/base/template1
+rm -rf $PGDATA/base/template1 || exit_nicely
+mkdir $PGDATA/base/template1 || exit_nicely
if [ "$debug" -eq 1 ]; then
BACKEND_TALK_ARG="-d"
@@ -343,82 +336,51 @@ BACKENDARGS="-boot -C -F -D$PGDATA $BACKEND_TALK_ARG"
FIRSTRUN="-boot -x -C -F -D$PGDATA $BACKEND_TALK_ARG"
echo "Creating template database in $PGDATA/base/template1"
-[ "$debug" -ne 0 ] && echo "Running: postgres $BACKENDARGS template1"
+[ "$debug" -ne 0 ] && echo "Running: $PGPATH/postgres $FIRSTRUN template1"
cat $TEMPLATE \
-| sed -e "s/postgres PGUID/$POSTGRES_SUPERUSERNAME $POSTGRES_SUPERUID/" \
- -e "s/PGUID/$POSTGRES_SUPERUID/" \
-| postgres $FIRSTRUN template1
+| sed -e "s/PGUID/$POSTGRES_SUPERUSERID/g" \
+| $PGPATH/postgres $FIRSTRUN template1 \
+|| exit_nicely
-if [ $? -ne 0 ]; then
- echo "$CMDNAME: could not create template database"
- if [ $noclean -eq 0 ]; then
- echo "$CMDNAME: cleaning up by wiping out $PGDATA/base/template1"
- rm -rf $PGDATA/base/template1
- else
- echo "$CMDNAME: cleanup not done because noclean options was used."
- fi
- exit 1;
-fi
-
-echo
-
-pg_version $PGDATA/base/template1
+$PGPATH/pg_version $PGDATA/base/template1 || exit_nicely
#----------------------------------------------------------------------------
# Create the global classes, if requested.
#----------------------------------------------------------------------------
if [ $template_only -eq 0 ]; then
- echo "Creating global classes in $PGDATA/base"
- [ "$debug" -ne 0 ] && echo "Running: postgres $BACKENDARGS template1"
+ echo "Creating global relations in $PGDATA/base"
+ [ "$debug" -ne 0 ] && echo "Running: $PGPATH/postgres $BACKENDARGS template1"
cat $GLOBAL \
- | sed -e "s/postgres PGUID/$POSTGRES_SUPERUSERNAME $POSTGRES_SUPERUID/" \
- -e "s/PGUID/$POSTGRES_SUPERUID/" \
- | postgres $BACKENDARGS template1
+ | sed -e "s/POSTGRES/$POSTGRES_SUPERUSERNAME/g" \
+ -e "s/PGUID/$POSTGRES_SUPERUSERID/g" \
+ -e "s/PASSWORD/$Password/g" \
+ | $PGPATH/postgres $BACKENDARGS template1 \
+ || exit_nicely
- if (test $? -ne 0)
- then
- echo "$CMDNAME: could not create global classes."
- if (test $noclean -eq 0); then
- echo "$CMDNAME: cleaning up."
- rm -rf $PGDATA
- else
- echo "$CMDNAME: cleanup not done (noclean mode set)."
- fi
- exit 1;
+ $PGPATH/pg_version $PGDATA || exit_nicely
+
+ cp $PG_HBA_SAMPLE $PGDATA/pg_hba.conf || exit_nicely
+ cp $PG_GEQO_SAMPLE $PGDATA/pg_geqo.sample || exit_nicely
+
+ echo "Adding template1 database to pg_database"
+
+ echo "open pg_database" > $TEMPFILE
+ echo "insert (template1 $POSTGRES_SUPERUSERID $MULTIBYTEID template1)" >> $TEMPFILE
+ #echo "show" >> $TEMPFILE
+ echo "close pg_database" >> $TEMPFILE
+
+ [ "$debug" -ne 0 ] && echo "Running: $PGPATH/postgres $BACKENDARGS template1 < $TEMPFILE"
+
+ $PGPATH/postgres $BACKENDARGS template1 < $TEMPFILE
+ # Gotta remove that temp file before exiting on error.
+ retval=$?
+ if [ $noclean -eq 0 ]; then
+ rm -f $TEMPFILE || exit_nicely
fi
-
- echo
-
- pg_version $PGDATA
-
- cp $PG_HBA_SAMPLE $PGDATA/pg_hba.conf
- cp $PG_GEQO_SAMPLE $PGDATA/pg_geqo.sample
-
- echo "Adding template1 database to pg_database..."
-
- echo "open pg_database" > /tmp/create.$$
- echo "insert (template1 $POSTGRES_SUPERUID $MULTIBYTEID template1)" >> /tmp/create.$$
- #echo "show" >> /tmp/create.$$
- echo "close pg_database" >> /tmp/create.$$
-
- [ "$debug" -ne 0 ] && echo "Running: postgres $BACKENDARGS template1 < /tmp/create.$$"
-
- postgres $BACKENDARGS template1 < /tmp/create.$$
-
- if [ $? -ne 0 ]; then
- echo "$CMDNAME: could not log template database"
- if [ $noclean -eq 0 ]; then
- echo "$CMDNAME: cleaning up."
- rm -rf $PGDATA
- else
- echo "$CMDNAME: cleanup not done (noclean mode set)."
- fi
- exit 1;
- fi
- rm -f /tmp/create.$$
+ [ $retval -ne 0 ] && exit_nicely
fi
echo
@@ -427,102 +389,103 @@ PGSQL_OPT="-o /dev/null -O -F -Q -D$PGDATA"
# Create a trigger so that direct updates to pg_shadow will be written
# to the flat password file pg_pwd
-echo "CREATE TRIGGER pg_sync_pg_pwd AFTER INSERT OR UPDATE OR DELETE ON pg_shadow FOR EACH ROW EXECUTE PROCEDURE update_pg_pwd()" | postgres $PGSQL_OPT template1 > /dev/null
+echo "CREATE TRIGGER pg_sync_pg_pwd AFTER INSERT OR UPDATE OR DELETE ON pg_shadow" \
+ "FOR EACH ROW EXECUTE PROCEDURE update_pg_pwd()" \
+ | $PGPATH/postgres $PGSQL_OPT template1 > /dev/null || exit_nicely
# Create the initial pg_pwd (flat-file copy of pg_shadow)
-echo "COPY pg_shadow TO '$PGDATA/pg_pwd' USING DELIMITERS '\\t'" | \
- postgres $PGSQL_OPT template1 > /dev/null
+echo "Writing password file."
+echo "COPY pg_shadow TO '$PGDATA/pg_pwd' USING DELIMITERS '\\t'" \
+ | $PGPATH/postgres $PGSQL_OPT template1 > /dev/null || exit_nicely
+
# An ordinary COPY will leave the file too loosely protected.
-chmod go-rw $PGDATA/pg_pwd
+# Note: If you lied above and specified a --username different from the one
+# you really are, this will manifest itself in this command failing because
+# of a missing file, since the COPY command above failed. It would perhaps
+# be better if postgres returned an error code.
+chmod go-rw $PGDATA/pg_pwd || exit_nicely
-echo "Creating public pg_user view"
-echo "CREATE TABLE pg_user ( \
- usename name, \
- usesysid int4, \
- usecreatedb bool, \
- usetrace bool, \
- usesuper bool, \
- usecatupd bool, \
- passwd text, \
- valuntil abstime);" | postgres $PGSQL_OPT template1 > /dev/null
+echo "Creating view pg_user."
+echo "CREATE VIEW pg_user AS
+ SELECT
+ usename,
+ usesysid,
+ usecreatedb,
+ usetrace,
+ usesuper,
+ usecatupd,
+ '********'::text as passwd,
+ valuntil
+ FROM pg_shadow" \
+ | $PGPATH/postgres $PGSQL_OPT template1 > /dev/null || exit_nicely
+echo "REVOKE ALL on pg_shadow FROM public" \
+ | $PGPATH/postgres $PGSQL_OPT template1 > /dev/null || exit_nicely
-echo "CREATE RULE \"_RETpg_user\" AS ON SELECT TO pg_user DO INSTEAD \
- SELECT usename, usesysid, usecreatedb, usetrace, \
- usesuper, usecatupd, '********'::text as passwd, \
- valuntil FROM pg_shadow;" | \
- postgres $PGSQL_OPT template1 > /dev/null
-echo "REVOKE ALL on pg_shadow FROM public" | \
- postgres $PGSQL_OPT template1 > /dev/null
+echo "Creating view pg_rules."
+echo "CREATE VIEW pg_rules AS
+ SELECT
+ C.relname AS tablename,
+ R.rulename AS rulename,
+ pg_get_ruledef(R.rulename) AS definition
+ FROM pg_rewrite R, pg_class C
+ WHERE R.rulename !~ '^_RET'
+ AND C.oid = R.ev_class;" \
+ | $PGPATH/postgres $PGSQL_OPT template1 > /dev/null || exit_nicely
-echo "Creating view pg_rules"
-echo "CREATE TABLE pg_rules ( \
- tablename name, \
- rulename name, \
- definition text);" | postgres $PGSQL_OPT template1 > /dev/null
+echo "Creating view pg_views."
+echo "CREATE VIEW pg_views AS
+ SELECT
+ C.relname AS viewname,
+ pg_get_userbyid(C.relowner) AS viewowner,
+ pg_get_viewdef(C.relname) AS definition
+ FROM pg_class C
+ WHERE C.relhasrules
+ AND EXISTS (
+ SELECT rulename FROM pg_rewrite R
+ WHERE ev_class = C.oid AND ev_type = '1'
+ )" \
+ | $PGPATH/postgres $PGSQL_OPT template1 > /dev/null || exit_nicely
-echo "CREATE RULE \"_RETpg_rules\" AS ON SELECT TO pg_rules DO INSTEAD \
- SELECT C.relname AS tablename, \
- R.rulename AS rulename, \
- pg_get_ruledef(R.rulename) AS definition \
- FROM pg_rewrite R, pg_class C \
- WHERE R.rulename !~ '^_RET' \
- AND C.oid = R.ev_class;" | \
- postgres $PGSQL_OPT template1 > /dev/null
+echo "Creating view pg_tables."
+echo "CREATE VIEW pg_tables AS
+ SELECT
+ C.relname AS tablename,
+ pg_get_userbyid(C.relowner) AS tableowner,
+ C.relhasindex AS hasindexes,
+ C.relhasrules AS hasrules,
+ (C.reltriggers > 0) AS hastriggers
+ FROM pg_class C
+ WHERE C.relkind IN ('r', 's')
+ AND NOT EXISTS (
+ SELECT rulename FROM pg_rewrite
+ WHERE ev_class = C.oid AND ev_type = '1'
+ )" \
+ | $PGPATH/postgres $PGSQL_OPT template1 > /dev/null || exit_nicely
-echo "Creating view pg_views"
-echo "CREATE TABLE pg_views ( \
- viewname name, \
- viewowner name, \
- definition text);" | postgres $PGSQL_OPT template1 > /dev/null
+echo "Creating view pg_indexes."
+echo "CREATE VIEW pg_indexes AS
+ SELECT
+ C.relname AS tablename,
+ I.relname AS indexname,
+ pg_get_indexdef(X.indexrelid) AS indexdef
+ FROM pg_index X, pg_class C, pg_class I
+ WHERE C.oid = X.indrelid
+ AND I.oid = X.indexrelid" \
+ | $PGPATH/postgres $PGSQL_OPT template1 > /dev/null || exit_nicely
-echo "CREATE RULE \"_RETpg_views\" AS ON SELECT TO pg_views DO INSTEAD \
- SELECT C.relname AS viewname, \
- pg_get_userbyid(C.relowner) AS viewowner, \
- pg_get_viewdef(C.relname) AS definition \
- FROM pg_class C WHERE C.relhasrules AND \
- EXISTS (SELECT rulename FROM pg_rewrite R \
- WHERE ev_class = C.oid AND ev_type = '1');" | \
- postgres $PGSQL_OPT template1 > /dev/null
+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'" \
+ | $PGPATH/postgres $PGSQL_OPT template1 > /dev/null || exit_nicely
+echo "Vacuuming database."
+echo "VACUUM ANALYZE" \
+ | $PGPATH/postgres $PGSQL_OPT template1 > /dev/null || exit_nicely
-echo "Creating view pg_tables"
-echo "CREATE TABLE pg_tables ( \
- tablename name, \
- tableowner name, \
- hasindexes bool, \
- hasrules bool, \
- hastriggers bool);" | postgres $PGSQL_OPT template1 > /dev/null
+echo
+echo "$CMDNAME completed successfully. You can now start the database server."
+echo "($PGPATH/postmaster -D $PGDATA)"
+echo
-echo "CREATE RULE \"_RETpg_tables\" AS ON SELECT TO pg_tables DO INSTEAD \
- SELECT C.relname AS tablename, \
- pg_get_userbyid(C.relowner) AS tableowner, \
- C.relhasindex AS hasindexes, \
- C.relhasrules AS hasrules, \
- (C.reltriggers > 0) AS hastriggers \
- FROM pg_class C WHERE C.relkind IN ('r', 's') \
- AND NOT EXISTS (SELECT rulename FROM pg_rewrite \
- WHERE ev_class = C.oid AND ev_type = '1');" | \
- postgres $PGSQL_OPT template1 > /dev/null
-
-echo "Creating view pg_indexes"
-echo "CREATE TABLE pg_indexes ( \
- tablename name, \
- indexname name, \
- indexdef text);" | postgres $PGSQL_OPT template1 > /dev/null
-
-echo "CREATE RULE \"_RETpg_indexes\" AS ON SELECT TO pg_indexes DO INSTEAD \
- SELECT C.relname AS tablename, \
- I.relname AS indexname, \
- pg_get_indexdef(X.indexrelid) AS indexdef \
- FROM pg_index X, pg_class C, pg_class I \
- WHERE C.oid = X.indrelid \
- AND I.oid = X.indexrelid;" | \
- postgres $PGSQL_OPT template1 > /dev/null
-
-echo "Loading pg_description"
-echo "copy pg_description from '$TEMPLATE_DESCR'" | \
- postgres $PGSQL_OPT template1 > /dev/null
-echo "copy pg_description from '$GLOBAL_DESCR'" | \
- postgres $PGSQL_OPT template1 > /dev/null
-echo "vacuum analyze" | \
- postgres $PGSQL_OPT template1 > /dev/null
+exit 0
diff --git a/src/include/catalog/pg_shadow.h b/src/include/catalog/pg_shadow.h
index 1a54a92070f..781caca899b 100644
--- a/src/include/catalog/pg_shadow.h
+++ b/src/include/catalog/pg_shadow.h
@@ -8,7 +8,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: pg_shadow.h,v 1.4 1999/02/13 23:21:14 momjian Exp $
+ * $Id: pg_shadow.h,v 1.5 1999/12/17 01:05:31 momjian Exp $
*
* NOTES
* the genbki.sh script reads this file and generates .bki
@@ -67,39 +67,11 @@ typedef FormData_pg_shadow *Form_pg_shadow;
/* ----------------
* initial contents of pg_shadow
+ *
+ * The uppercase quantities will be replaced at initdb time with
+ * user choices.
* ----------------
*/
-DATA(insert OID = 0 ( postgres PGUID t t t t _null_ 2116994400 ));
-
-BKI_BEGIN
-#ifdef ALLOW_PG_GROUP
-BKI_END
-
-DATA(insert OID = 0 ( mike 799 t t t t _null_ 2116994400 ));
-DATA(insert OID = 0 ( mao 1806 t t t t _null_ 2116994400 ));
-DATA(insert OID = 0 ( hellers 1089 t t t t _null_ 2116994400 ));
-DATA(insert OID = 0 ( joey 5209 t t t t _null_ 2116994400 ));
-DATA(insert OID = 0 ( jolly 5443 t t t t _null_ 2116994400 ));
-DATA(insert OID = 0 ( sunita 6559 t t t t _null_ 2116994400 ));
-DATA(insert OID = 0 ( paxson 3029 t t t t _null_ 2116994400 ));
-DATA(insert OID = 0 ( marc 2435 t t t t _null_ 2116994400 ));
-DATA(insert OID = 0 ( jiangwu 6124 t t t t _null_ 2116994400 ));
-DATA(insert OID = 0 ( aoki 2360 t t t t _null_ 2116994400 ));
-DATA(insert OID = 0 ( avi 31080 t t t t _null_ 2116994400 ));
-DATA(insert OID = 0 ( kristin 1123 t t t t _null_ 2116994400 ));
-DATA(insert OID = 0 ( andrew 5229 t t t t _null_ 2116994400 ));
-DATA(insert OID = 0 ( nobuko 5493 t t t t _null_ 2116994400 ));
-DATA(insert OID = 0 ( hartzell 6676 t t t t _null_ 2116994400 ));
-DATA(insert OID = 0 ( devine 6724 t t t t _null_ 2116994400 ));
-DATA(insert OID = 0 ( boris 6396 t t t t _null_ 2116994400 ));
-DATA(insert OID = 0 ( sklower 354 t t t t _null_ 2116994400 ));
-DATA(insert OID = 0 ( marcel 31113 t t t t _null_ 2116994400 ));
-DATA(insert OID = 0 ( ginger 3692 t t t t _null_ 2116994400 ));
-DATA(insert OID = 0 ( woodruff 31026 t t t t _null_ 2116994400 ));
-DATA(insert OID = 0 ( searcher 8261 t t t t _null_ 2116994400 ));
-
-BKI_BEGIN
-#endif /* ALLOW_PG_GROUP */
-BKI_END
+DATA(insert OID = 0 ( POSTGRES PGUID t t t t PASSWORD _null_ ));
#endif /* PG_SHADOW_H */