> Tatsuo Ishii <t-ishii@sra.co.jp> writes:
> > I'm just wondering why we do not use fsync() to flush data/index
> > pages.
>
> There isn't any efficient way to do that AFAICS. The process that wants
> to do the checkpoint hasn't got any way to know just which files need to
> be sync'd. Even if it did know, it's not clear to me that we can
> portably assume that process A issuing an fsync on a file descriptor F
> it's opened for file X will force to disk previous writes issued against
> the same physical file X by a different process B using a different file
> descriptor G.
>
> sync() is surely overkill, in that it writes out dirty kernel buffers
> that might have nothing at all to do with Postgres. But I don't see how
> to do better.
Thanks for a good summary. Maybe this is yet another reason to have
a separate IO process like Oracle...
--
Tatsuo Ishii