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
  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

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

               http://archives.postgresql.org

Reply via email to