In earlier discussions of how to improve WALInsertLock contention, it
was observed that we must zero each new page before we advance the WAL
insertion point.
http://postgresql.1045698.n5.nabble.com/Reworking-WAL-locking-td1983647.html
IMHO the page zeroing is completely unnecessary, and replication works
perfectly well without that (as a test of recovery logic). It is
unnecessary because we already allow non-zeroed parts of WAL files,
and provide a mechanism to detect stale data.
The following trivial patch removes the page zeroing, which reduces
the lock duration.
Comments?
--
Simon Riggs http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services