> -----Original Message-----
> From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
>
> "Hiroshi Inoue" <Inoue@tpf.co.jp> writes:
> > If a B-tree page A was splitted to the page A(changed) and a page B but
> > the transaction was rolled back,the pages A,B would not be written to
> > disc and the followings could occur for example.
>
> Yes. I have been thinking that it's a mistake not to write changed
> pages to disk at transaction abort, because that just makes for a longer
> window where a system crash might leave you with corrupted indexes.
> I don't think fsync is really essential, but leaving the pages unwritten
> in shared memory is bad. (For example, if we next shut down the
> postmaster, then the pages will NEVER get written.)
>
> Skipping the update is a bit silly anyway; we aren't really that
> concerned about optimizing performance of abort, are we?
>
Probably WAL would solve this phenomenon by rolling
back the content of disc and shared buffer in reality.
However if 7.0.x would be released we had better change
bufmgr IMHO.
Regards.
Hiroshi Inoue