• Tom Lane's avatar
    Repair longstanding bug in slru/clog logic: it is possible for two backends · c89a0dd3
    Tom Lane authored
    to try to create a log segment file concurrently, but the code erroneously
    specified O_EXCL to open(), resulting in a needless failure.  Before 7.4,
    it was even a PANIC condition :-(.  Correct code is actually simpler than
    what we had, because we can just say O_CREAT to start with and not need a
    second open() call.  I believe this accounts for several recent reports of
    hard-to-reproduce "could not create file ...: File exists" errors in both
    pg_clog and pg_subtrans.
    c89a0dd3
slru.c 33.1 KB