Re: Problem with initdb -W

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Problem with initdb -W
Date: 2002-11-25 23:21:46
Message-ID: 20954.1038266506@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)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 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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tim Gardner 2002-11-25 23:41:53 Re: performance of insert/delete/update
Previous Message Christopher Kings-Lynne 2002-11-25 23:11:31 Fw: PostgreSQL 7.3 Platform Testing