pgsql: To support external compression of archived WAL data, add a flag

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: To support external compression of archived WAL data, add a flag
Date: 2007-05-20 21:08:19
Message-ID: 20070520210819.93D439FB62C@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
To support external compression of archived WAL data, add a flag bit to
WAL records that shows whether it is safe to remove full-page images
(ie, whether or not an on-line backup was in progress when the WAL entry
was made). Also make provision for an XLOG_NOOP record type that can be
used to fill in the extra space when decompressing the data for restore.

This is the portion of Koichi Suzuki's "full page writes" patch that
has to go into the core database. The remainder of that work is two
external compression and decompression programs, which for the time being
will undergo separate development on pgfoundry. Per discussion.

Also, twiddle the handling of BTREE_SPLIT records to ensure it'll be
possible to compress them (the previous coding caused essential info
to be omitted). The other commonly-used record types seem OK already,
with the possible exception of GIN and GIST WAL records, which I don't
understand well enough to opine on.

Modified Files:
--------------
pgsql/src/backend/access/nbtree:
nbtinsert.c (r1.156 -> r1.157)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtinsert.c.diff?r1=1.156&r2=1.157)
nbtxlog.c (r1.43 -> r1.44)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtxlog.c.diff?r1=1.43&r2=1.44)
pgsql/src/backend/access/transam:
xlog.c (r1.268 -> r1.269)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xlog.c.diff?r1=1.268&r2=1.269)
pgsql/src/include/access:
xlog.h (r1.76 -> r1.77)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/xlog.h.diff?r1=1.76&r2=1.77)
xlog_internal.h (r1.20 -> r1.21)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/xlog_internal.h.diff?r1=1.20&r2=1.21)
pgsql/src/include/catalog:
pg_control.h (r1.37 -> r1.38)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_control.h.diff?r1=1.37&r2=1.38)

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Meskes 2007-05-21 07:04:00 pgsql: Do not try to find local timezone in DecodeDateTime() because the
Previous Message Michael Meskes 2007-05-20 11:30:30 pgsql: tackling Vista problem - another try