Thanks for your patience.
I use XLogCtl->Insert.forcePageWrites for XLOG recycling flag. So after pg_start_backup, no more XLOG files will be
recycled.And as I said above,
I make a CHECKPOINT_IMMEDIATE checkpoint in pg_start_backup, instead CHECKPOINT_WAIT. That all I did to code.
I wonder whether the XLOG is corrupted, because the first error is "unexpected pageaddr %X/%X in log file %u, segment
%u,offset %u" .The error page addr contains
a LSN 8K before it should do and I compare the two pages , they are almost the same except the last several bytes.
So it should not be missing some XLOG, can be the XLOG file or buffer was corrupted.
------------------
Richard
2010-08-05
-------------------------------------------------------------
发件人:Robert Haas
发送日期:2010-08-05 22:38:37
收件人:Richard
抄送:Andrew Dunstan; pgsql-hackers
主题:Re: Re: [HACKERS] Re: Re: [HACKERS] Online backup cause bootfailure,anyone know why?
On Thu, Aug 5, 2010 at 10:20 AM, Richard <husttripper@vip.sina.com> wrote:
> Oh sorry, I missed something. I turned off the XLOG archive in code after pg_start_backup so the pg_xlog directory
containsall the xlog files.
> And for performance purpose, I change the checkpoint type in pg_start_backup to CHECKPOINT_IMMEDIATE, does it
matter?
> The PG log I mentioned above is the running error log not the XLOG.
Well, it's pretty clear that you're missing some WAL; otherwise, you
wouldn't be getting an error that says "WAL ends before end time of
backup dump". It's hard to speculate as to whether that's a
configuration problem or a result of your custom modifications to the
source code, since you haven't provided many details about either.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise Postgres Company