Thread: PostgreSQL 7.3rc1: initdb fais with '-W' switch given in the command line.

PostgreSQL 7.3rc1: initdb fais with '-W' switch given in the command line.

From
Adam Buraczewski
Date:
Name        : Adam Buraczewski
Email address    : adamb@polbox.pl

System Configuration
---------------------
  Architecture      : Intel Pentium II

  Operating System    : Linux 2.4.19, glibc 3.2.1 (i686-pc-linux-gnu)

  PostgreSQL version    : PostgreSQL 7.3 RC1

  Compiler used        : GCC 3.2.1

Description of the problem
--------------------------

Initdb fais with '-W' switch given in the command line.

This option enables DBA to set initial password for the superuser
account created during database cluster creation (usually this account
is named "postgres", "pgsql" or similar).  This is done inside initdb
script by issuing ALTER USER command and setting the password.  After
this, initdb checks if all necessary files (pg_pwd and pg_group) were
created.

This worked well under PostgreSQL 7.2.  However, PostgreSQL 7.3beta
and 7.3rc1 do not create "pg_group" file during this stage.  When
initdb checks for existance of this file, the test fails and initdb
gives up.

A way to repeat the problem
---------------------------

First compile PostgreSQL 7.3 RC1:

$ env CFLAGS='-O2 -march=i686' CXXFLAGS='-O2 -march=i686' LDFLAGS='-s' \
    ./configure --prefix=/usr/lib/pgsql7.3 --with-gnu-ld --enable-nls \
        --with-java --with-pgport=54321
$ make
$ make check
$ su -c make install

and then:

$ mkdir /var/pgsql
$ chown postgres.postgres /var/pgsql
$ cd /var/pgsql
$ su postgres
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/pgsql7.3/lib
$ export PATH=$PATH:/usr/lib/pgsql7.3/bin
$ export PGDATA=/var/pgsql
$ export PGLIB=/usr/lib/pgsql7.3/lib
$ initdb -W
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale C.

Fixing permissions on existing directory /var/pgsql... ok
creating directory /var/pgsql7.3rc1/base... ok
creating directory /var/pgsql7.3rc1/global... ok
creating directory /var/pgsql7.3rc1/pg_xlog... ok
creating directory /var/pgsql7.3rc1/pg_clog... ok
creating template1 database in /var/pgsql/base/1... ok
creating configuration files... ok
initializing pg_shadow... ok
Enter new superuser password: *******
Enter it again: ********
setting password...
The group file wasn't generated. Please report this problem.

initdb failed.

$ ls -l global/
total 108
-rw-------    1 postgres postgres     8192 Nov 24 18:26 1260
-rw-------    1 postgres postgres        0 Nov 24 18:25 1261
-rw-------    1 postgres postgres     8192 Nov 24 18:25 1262
-rw-------    1 postgres postgres    16384 Nov 24 18:25 16620
-rw-------    1 postgres postgres    16384 Nov 24 18:25 16621
-rw-------    1 postgres postgres     8192 Nov 24 18:25 16625
-rw-------    1 postgres postgres     8192 Nov 24 18:25 16626
-rw-------    1 postgres postgres    16384 Nov 24 18:26 16643
-rw-------    1 postgres postgres    16384 Nov 24 18:26 16644
-rw-------    1 postgres postgres     8192 Nov 24 18:26 pg_control
-rw-------    1 postgres postgres       52 Nov 24 18:26 pg_pwd

If you know how this problem might be fixed, list the solution below:
---------------------------------------------------------------------

This problem could be easily fixed by removing the part of initdb
script which checks for "pg_group" file existance.  However, I don't
think if this is a good solution, since someone added this check on
purpose.

--
Adam Buraczewski <adamb@polbox.pl> * Linux registered user #165585
GCS/TW d- s-:+>+:- a- C+++(++++) UL++++$ P++ L++++ E++ W+ N++ o? K? w--
O M- V- PS+ !PE Y PGP+ t+ 5 X+ R tv- b+ DI? D G++ e+++>++++ h r+>++ y?

Re: PostgreSQL 7.3rc1: initdb fais with '-W' switch given in the command line.

From
Adam Buraczewski
Date:
On Sun, Nov 24, 2002 at 06:37:09PM +0100, Adam Buraczewski wrote:
> Initdb fais with '-W' switch given in the command line.

Never mind, someone else found the bug as well, it is already removed
in CVS tree.  :)

--
Adam Buraczewski <adamb@polbox.pl> * Linux registered user #165585
GCS/TW d- s-:+>+:- a- C+++(++++) UL++++$ P++ L++++ E++ W+ N++ o? K? w--
O M- V- PS+ !PE Y PGP+ t+ 5 X+ R tv- b+ DI? D G++ e+++>++++ h r+>++ y?