"Magnus Hagander" <mha@sollentuna.net> writes:
>> I don't really want to remove the auto-initdb feature from the
>> script, because it's important not to drive away newbies by making
>> Postgres hard to start for the first time. But I think we'd better
>> think about ways to make it more bulletproof.
> Why does initdb have to happen on startup? Wouldn't it be much more
> logical to do it at install time?
It eats rather a lot of disk space for a package that might just be
getting loaded as part of a system install, with no likelihood of
actually being used. In CVS tip a just-initdb'd data directory seems
to be a shade under 30MB, which I guess isn't a huge amount these days
but it compares unfavorably with the installed footprint of the code
itself (postgresql-server RPM looks to be about 4MB).
If this were a bulletproof solution then I'd consider it anyway, but
AFAICS it's got the very same vulnerabilities as the flag-file method,
ie, if you RPM install or upgrade while your mountable data directory
is offline, you can still get screwed.
regards, tom lane