I agree with Tom's reasoning about the suggested simplifications, sorry. > > 3. Should the WALWriter also do the wal_buffers half-full write at the > > start of XLogInsert() ? > > That should go away entirely; to me the main point of the > separate wal-writer process is to take over responsibility > for not letting too many dirty wal buffers accumulate.
That also sounds a lot simpler, but I think Bruce wanted to be able to give some time guarantee to the not waiting for fsync txns. When a commit only half-filled the page and no more WAL comes in for a long time, there is only WALWriter to do the IO. The WALWriter would need to only flush a half-full page after timeout iff it contains a commit record. One more question on autocommit: Do we wait for a flush for an autocommitted DML ? Seems we generally should not. Andreas ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org