Alvaro Herrera <alvherre@commandprompt.com> writes:
> Do we need to fsync the directory itself? My fsync(2) manpage says
> Calling fsync() does not necessarily ensure that the entry in the directory
> containing the file has also reached disk. For that an explicit fsync() on a
> file descriptor for the directory is also needed.
Hmm ... I see that in the Linux manpage, but not on Darwin, HPUX, or in
the Single Unix Spec. I'm inclined to argue that we've always expected
the filesystem to take care of its own metadata, and we've never seen
any indication that that's unsafe. We don't try to "fsync the
directory" after a normal table create for instance.
regards, tom lane