Re: [Bizgres-general] WAL bypass for INSERT, UPDATE and
Qingqing Zhou <zhouqq@cs.toronto.edu>
From: "Qingqing Zhou" <zhouqq@cs.toronto.edu>
To: pgsql-hackers@postgresql.org
Date: 2005-12-23T00:53:04Z
Lists: pgsql-hackers
"Tom Lane" <tgl@sss.pgh.pa.us> wrote > "Qingqing Zhou" <zhouqq@cs.toronto.edu> writes: >> BEGIN TRANSACTION WITHOUT XLOG; /* forbidden vacuum, PITR etc */ > >> So during this peroid, if any transaction failed, the only consequence is >> add invisible garbage data. > > No, the likely consequence is irretrievable corruption of any table or > index page touched by the transaction. > I guess I know (at least part) of what you mean. This is because we rely on replay all the xlog no matter it belongs to a committed transaction or not. Why? Because a failed transaction is not totally useless since later transaction may reply on some physical thing it creates - for example, a new page and its links of a btree. So for heap, there is(95% sure) no such problem. Our heap redo algorithm can automatically add empty pages to a heap. For index, there are problems, but I suspect they are solvable by not bypassing these records ... if this is not totally-nonstarter, I will investigate details of how to do it. Regards, Qingqing