> 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