Bruce Momjian <[EMAIL PROTECTED]> writes:
> It was easier than I thought.  As I now remember, it is not a problem if
> pg_pwd or pg_group don't exist.  Initdb should check for pg_pwd because
> it just added a password, so it better exist, but there is no reason for
> pg_group to exist at this point.

I think I may have induced this problem during this change:

        Revision 1.113 / (download) - annotate - [select for diffs] , Mon Oct 21 
19:46:45 2002 UTC (5 weeks ago) by tgl 
        CVS Tags: REL7_3_STABLE, HEAD 
        Changes since 1.112: +144 -67 lines
        Diff to previous 1.112 
        
        Make CREATE/ALTER/DROP USER/GROUP transaction-safe, or at least pretty
        nearly so, by postponing write of flat password file until transaction
        commit.

I modified user.c to keep track separately of pg_shadow and pg_group
changes, so that it would write only the file it needed to.  Before
that, it probably *was* true that the initial assignment of a password
to the superuser would cause both pg_pwd and an empty pg_group to be
created.  Too bad it didn't occur to me to test initdb -W :-(

> I will patch 7.3 and current CVS.  I don't think this warrants another
> RC candidate.

Agreed, removal of an incorrect error check seems pretty safe ...

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to