• Tom Lane's avatar
    Use plain mkdir() not pg_mkdir_p() to create subdirectories of PGDATA. · 33b054bc
    Tom Lane authored
    When we're creating subdirectories of PGDATA during initdb, we know darn
    well that the parent directory exists (or should exist) and that the new
    subdirectory doesn't (or shouldn't).  There is therefore no need to use
    anything more complicated than mkdir().  Using pg_mkdir_p() just opens us
    up to unexpected failure modes, such as the one exhibited in bug #13853
    from Nuri Boardman.  It's not very clear why pg_mkdir_p() went wrong there,
    but it is clear that we didn't need to be trying to create parent
    directories in the first place.  We're not even saving any code, as proven
    by the fact that this patch nets out at minus five lines.
    
    Since this is a response to a field bug report, back-patch to all branches.
    33b054bc
initdb.c 87.7 KB