Bruce Momjian <pgman@candle.pha.pa.us> 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 linesDiff to previous 1.112 Make CREATE/ALTER/DROP USER/GROUP
transaction-safe,or at least prettynearly so, by postponing write of flat password file until transactioncommit.
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