"Qingqing Zhou" <zhouqq(at)cs(dot)toronto(dot)edu> wrote > > > To make things, is it possible to add a GUC to let user disable *all* the > xlogs? >
It may work like this:
BEGIN TRANSACTION WITHOUT XLOG; /* forbidden vacuum, PITR etc */ BEGIN ... /* no xlog during this peroid */ END; /* don't mark this transaction committed */ BEGIN ... END; END TRANSACTION DO COMMIT; /* at this time issue checkpiont && mark all transactions committed */
So during this peroid, if any transaction failed, the only consequence is add invisible garbage data. When everything is going well, then END TRANSACTION DO COMMIT will mark these transaction permanate. Also, seems there is no problem even with XLOG_NO_TRAN updates.