Jan Wieck <[EMAIL PROTECTED]> writes: > I am not really aiming at removing sync() alltogether. > ... > What doing frequent fdatasync/fsync during a constant ongoing checkpoint > will cause is to significantly lower the physical write storm happening > at the sync(), which is causing huge problems right now.
That's fair as far as solving the performance issue is concerned. But I think if we are going to muck about in this area, we ought to see whether we can't remove the use of sync() altogether, because of the issue of reliability. When you depend on sync() for a checkpoint, you really can't be sure that you are preserving the fundamental WAL invariant --- you don't *know* that all the data writes have been done before you write the checkpoint record to WAL. I realize that reducing the amount of I/O that sync() triggers would make this a lot less of a risk in practice than it is now, but I'd still be happier if we could eliminate the risk rather than just reduce it. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match