Re: sync()
Tatsuo Ishii <t-ishii@sra.co.jp>
From: Tatsuo Ishii <t-ishii@sra.co.jp>
To: tgl@sss.pgh.pa.us
Cc: pgman@candle.pha.pa.us, pgsql-hackers@postgresql.org
Date: 2003-01-08T07:17:09Z
Lists: pgsql-hackers
> 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