> Tatsuo Ishii wrote:
> > I noticed sync() is used in PostgreSQL.
> > 
> > CHECKPOINT -> FlushBufferPool() -> smgrsync() -> mdsync() -> sync()
> > 
> > Can someone tell me why we need sync() here?
> 
> As part of checkpoint, we discard some WAL files.  To do that, we must
> first be sure that all the dirty buffers we have written to the kernel
> are actually on the disk.  That is why the sync() is required.

?? I thought WAL files are synced by pg_fsync() (if needed).
--
Tatsuo Ishii

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to