RE: beta testing version - Mailing list pgsql-hackers

From Mikheev, Vadim
Subject RE: beta testing version
Date
Msg-id 8F4C99C66D04D4118F580090272A7A234D31C8@sectorbase1.sectorbase.com
Whole thread Raw
In response to beta testing version  ("xuyifeng" <jamexu@telekbird.com.cn>)
Responses Re: beta testing version  (ncm@zembu.com (Nathan Myers))
List pgsql-hackers
> As far as I know (and have tested in excess) Informix IDS 
> does survive any power loss without leaving the db in a
> corrupted state. The basic technology is, that it only relys
> on writes to one "file" (raw device in that case), the txlog,
> which is directly written. All writes to the txlog are basically
> appends to that log. Meaning that all writes are sync writes to
> the currently active (== last) page. All other IO is not a problem,
> because a backup image "physical log" is kept for each page 
> that needs to be written. During fast recovery the content of the
> physical log is restored to the originating pages (thus all pendig
> IO is undone) before rollforward is started.

Sounds great! We can follow this way: when first after last checkpoint
update to a page being logged, XLOG code can log not AM specific update
record but entire page (creating backup "physical log"). During after
crash recovery such pages will be redone first, ensuring page consistency
for further redo ops. This means bigger log, of course.

Initdb will not be required for these code changes, so it can be
implemented in any 7.1.X, X >=1.

Thanks, Andreas!

Vadim


pgsql-hackers by date:

Previous
From: "Ross J. Reedstrom"
Date:
Subject: Re: beta testing version
Next
From: "Mikheev, Vadim"
Date:
Subject: RE: Wrong FOR UPDATE lock type