pgsql: Allow WAL record header to be split across pages. - Mailing list pgsql-committers

From Heikki Linnakangas
Subject pgsql: Allow WAL record header to be split across pages.
Date
Msg-id E1Sipa2-0008Pz-84@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Allow WAL record header to be split across pages.

This saves a few bytes of WAL space, but the real motivation is to make it
predictable how much WAL space a record requires, as it no longer depends
on whether we need to waste the last few bytes at end of WAL page because
the header doesn't fit.

The total length field of WAL record, xl_tot_len, is moved to the beginning
of the WAL record header, so that it is still always found on the first page
where a WAL record begins.

Bump WAL version number again as this is an incompatible change.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/061e7efb1b4c5b8a5d02122b7780531b8d5bf23d

Modified Files
--------------
src/backend/access/transam/xlog.c   |  344 ++++++++++++++++++++---------------
src/bin/pg_resetxlog/pg_resetxlog.c |    3 +-
src/include/access/xlog.h           |    9 +-
src/include/access/xlog_internal.h  |    6 +-
4 files changed, 207 insertions(+), 155 deletions(-)


pgsql-committers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: pgsql: Move WAL continuation record information to WAL page header.
Next
From: Heikki Linnakangas
Date:
Subject: pgsql: Don't waste the last segment of each 4GB logical log file.