I wrote:
> Hmm ... I wonder if Noah's machine could have been running out of kernel
> file table slots, or something like that? It does seem that it'd be
> more robust to use something like stat(2) to probe for an existing file.
I've applied a patch to do it that way in CVS HEAD. After examining the
code further I'm inclined not to risk back-patching it into 7.3, though.
xlog.c is full of open() calls that will elog(PANIC) if they fail, so
I think there was only a very small window of opportunity for Noah to
see this failure and not another one. The patch thus probably
contributes little real gain in reliability.
regards, tom lane