Re: PITR COPY Failure (was Point in Time Recovery) - Mailing list pgsql-hackers

From Tom Lane
Subject Re: PITR COPY Failure (was Point in Time Recovery)
Date
Msg-id 7787.1090327914@sss.pgh.pa.us
Whole thread Raw
In response to Re: PITR COPY Failure (was Point in Time Recovery)  (Simon Riggs <simon@2ndquadrant.com>)
Responses Re: PITR COPY Failure (was Point in Time Recovery)  (Simon Riggs <simon@2ndquadrant.com>)
List pgsql-hackers
Simon Riggs <simon@2ndquadrant.com> writes:
>> The quick and dirty solution would be to dike out the safety check at
>> 4268ff.  

> If you take out that check, we still fail because the wasted space at
> the end is causing a "record with zero length" error.

Ugh.  I'm beginning to think we ought to revert the patch that added the
don't-split-across-files logic to XLogInsert; that seems to have broken
more assumptions than I realized.  That was added here:

2004-02-11 17:55  tgl
* src/: backend/access/transam/xact.c,backend/access/transam/xlog.c,
backend/access/transam/xlogutils.c,backend/storage/smgr/md.c,
backend/storage/smgr/smgr.c,bin/pg_controldata/pg_controldata.c,bin/pg_resetxlog/pg_resetxlog.c,
include/access/xact.h,include/access/xlog.h,include/access/xlogutils.h,include/pg_config_manual.h,
include/catalog/pg_control.h,include/storage/smgr.h:Commit the reasonably uncontroversial partsof J.R. Nield's PITR
patch,to wit: Add a header record to each WALsegment file so that it can be reliably identified.  Avoidsplitting WAL
recordsacross segment files (this is not strictlynecessary, but makes it simpler to incorporate the header records).
MakeWAL entries for file creation, deletion, and truncation (asforeseen but never implemented by Vadim).  Also, add
supportformaking XLOG_SEG_SIZE configurable at compile time, similarly toBLCKSZ.  Fix a couple bugs I introduced in WAL
replayduring recentsmgr API changes.  initdb is forced due to changes in pg_controlcontents.
 

There are other ways to do this, for example we could treat the WAL page
headers as variable-size, and stick the file labeling info into the
first page's header instead of making it be a separate record.  The
separate-record way makes it easier to incorporate future additions to
the file labeling info, but I don't really think it's critical to allow
for that.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: localhost redux
Next
From: Simon Riggs
Date:
Subject: Re: PITR COPY Failure (was Point in Time Recovery)