Re: initdb in C

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>, "Patches (PostgreSQL)" <pgsql-patches(at)postgresql(dot)org>
Subject: Re: initdb in C
Date: 2003-11-08 16:51:03
Message-ID: 12187.1068310263@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-hackers-win32 pgsql-patches

Peter Eisentraut <peter_e(at)gmx(dot)net> writes:
> Andrew Dunstan writes:
>> recreating the datadir if we didn't create it initially should be OK in
>> that case, and it makes the code simpler.

> That should be avoided, because you'll have trouble recreating the
> original directory with all its properties such as ownership, permissions,
> etc., at least not without making the code anything but simpler. There
> might even be a situation were you are allowed to delete the directory but
> cannot create a new one.

Consider also the strong likelihood that the data directory's parent
directory is owned by root, so that you do not have the ability to
delete and recreate the data directory because you don't have write
permission on its parent. The main reason initdb is set up to be able
to start with an existing-but-empty data dir is exactly because creating
that directory may have required permissions that initdb itself hasn't
got.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2003-11-08 16:51:13 Re: initdb in C
Previous Message Peter Eisentraut 2003-11-08 16:38:40 Re: New approach to ye olde cross-datatype indexing problem

Browse pgsql-hackers-win32 by date

  From Date Subject
Next Message Andrew Dunstan 2003-11-08 16:51:13 Re: initdb in C
Previous Message Bruce Momjian 2003-11-08 16:24:53 Re: Error to build snapshot

Browse pgsql-patches by date

  From Date Subject
Next Message Andrew Dunstan 2003-11-08 16:51:13 Re: initdb in C
Previous Message Peter Eisentraut 2003-11-08 16:24:37 Re: initdb in C