Here's an idea and a patch for full page writes improvement.
Idea:
(1) keep full page writes for ordinary WAL, make them available during
the crash recovery, -> recovery from inconsistent pages which can be
made at the crash,
(2) Remove them from the archive log except for those written during
online backup (between pg_start_backup and pg_stop_backup) -> small size
archive log.
Implementation:
(1) Mark WAL record whose full-page-writes can be removed,
(2) Remove full-page writes from the marked WAL record in archive
command, and
(3) Restore the removed full-page writes to make LSN consistent.
Included is a patch for this as well as archive and restore command source.
Patch is very small and I hope this to be included in 8.3.
--
Koichi Suzuki