This has been saved for the 8.2 release:
http://momjian.postgresql.org/cgi-bin/pgpatches_hold
Please keep that URL active or send us the patch to the patches list.
Thanks.
---------------------------------------------------------------------------
yuanjia lee wrote:
>
> Hi All
>
> I had added an option -r to pg_resetxlog to enable the tool can rebuild the
> corrupted pg_control file from the old xlog files.
>
> here is the patch. Sorry I had tried to attached it to the mail, but it
> failed, I dont know why, here is the
> link:http://www.geocities.com/yuanjia_pg/pg_resetxlog.diff.txt
>
> There are also some changes in the logic of other options.
> Option -n: only print out the control values in the existing pg_control file,
> if the file is corrupted , inform the use to rebuild it first only.
> Option -f: if pg_control file is fine, then reset the xlog file; if
> pg_control is corrupted , then try to rebuild the control file from old xlog
> file, if it fails, then just guessing the value, then reset the xlog file.
>
> The algorithm of restoring the pg_control value from old xlog file:
> 1. Retrieve all of the active xlog files from xlog directory into a list by
> increasing order, according their timeline, log id, segment id. (Tom had
> informed me that we can not know which segment file is latest just by the
> name itself, so before adding the segment file to the list, it should be
> checked that it is an active segment file.)
> 2. Search the list to find the oldest xlog file of the latest time line.
> (Although it is better to let the user to select the time line which is used
> for rebuild the xlog file, but I think there is not so necessary. I had tried
> to use only the last file in the latest time line, but I found that in many
> cases, there are possible that the last checkpoint record and the previous
> checkpoint record are stored separately in different segment file, so I had
> to search from the oldest one.)
> 3. Search the records from the oldest xlog file of latest time line to the
> latest xlog file of latest time line, if the checkpoint record has been
> found, update the latest checkpoint and previous checkpoint.
>
> Some of the code is borrowed from Tom Lane xlogdump.c file.
>
> Hope for your advice.
>
> Best Regards
> Yuanjia Lee
>
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
--
Bruce Momjian | http://candle.pha.pa.us
[email protected] | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?
http://archives.postgresql.org