Re: pgsql: Change CRCs in WAL records from 64bit to 32bit - Mailing list pgsql-committers
From | Bruce Momjian |
---|---|
Subject | Re: pgsql: Change CRCs in WAL records from 64bit to 32bit |
Date | |
Msg-id | 200506031711.j53HBxk18965@candle.pha.pa.us Whole thread Raw |
In response to | pgsql: Change CRCs in WAL records from 64bit to 32bit for performance (tgl@svr1.postgresql.org (Tom Lane)) |
Responses |
Re: pgsql: Change CRCs in WAL records from 64bit to 32bit
|
List | pgsql-committers |
I have trimmed TODO.detail to remove the completed items. --------------------------------------------------------------------------- Tom Lane wrote: > Log Message: > ----------- > Change CRCs in WAL records from 64bit to 32bit for performance reasons. > Instead of a separate CRC on each backup block, include backup blocks > in their parent WAL record's CRC; this is important to ensure that the > backup block really goes with the WAL record, ie there was not a page > tear right at the start of the backup block. Implement a simple form > of compression of backup blocks: drop any run of zeroes starting at > pd_lower, so as not to store the unused 'hole' that commonly exists in > PG heap and index pages. Tweak PageRepairFragmentation and related > routines to ensure they keep the unused space zeroed, so that the above > compression method remains effective. All per recent discussions. > > Modified Files: > -------------- > pgsql/src/backend/access/nbtree: > nbtpage.c (r1.84 -> r1.85) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtpage.c.diff?r1=1.84&r2=1.85) > nbtxlog.c (r1.20 -> r1.21) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtxlog.c.diff?r1=1.20&r2=1.21) > pgsql/src/backend/access/transam: > xlog.c (r1.194 -> r1.195) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xlog.c.diff?r1=1.194&r2=1.195) > pgsql/src/backend/storage/page: > bufpage.c (r1.63 -> r1.64) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/page/bufpage.c.diff?r1=1.63&r2=1.64) > pgsql/src/backend/utils/hash: > pg_crc.c (r1.12 -> r1.13) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/hash/pg_crc.c.diff?r1=1.12&r2=1.13) > pgsql/src/bin/pg_controldata: > pg_controldata.c (r1.23 -> r1.24) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_controldata/pg_controldata.c.diff?r1=1.23&r2=1.24) > pgsql/src/bin/pg_resetxlog: > pg_resetxlog.c (r1.32 -> r1.33) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_resetxlog/pg_resetxlog.c.diff?r1=1.32&r2=1.33) > pgsql/src/include/access: > xlog.h (r1.61 -> r1.62) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/xlog.h.diff?r1=1.61&r2=1.62) > xlog_internal.h (r1.6 -> r1.7) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/xlog_internal.h.diff?r1=1.6&r2=1.7) > pgsql/src/include/catalog: > pg_control.h (r1.21 -> r1.22) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_control.h.diff?r1=1.21&r2=1.22) > pgsql/src/include/utils: > pg_crc.h (r1.12 -> r1.13) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/pg_crc.h.diff?r1=1.12&r2=1.13) > > ---------------------------(end of broadcast)--------------------------- > TIP 6: Have you searched our list archives? > > http://archives.postgresql.org > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
pgsql-committers by date: