From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Carlos Benkendorf <chbenkendorf(at)yahoo(dot)com> |
Cc: | pgsql-admin(at)postgresql(dot)org |
Subject: | Re: UNDO |
Date: | 2004-06-22 01:05:29 |
Message-ID: | 8305.1087866329@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
=?iso-8859-1?q?Carlos=20Benkendorf?= <chbenkendorf(at)yahoo(dot)com> writes:
> In 7.4 manual is written than UNDO is not implemented.
> What it really means?
Not much. It's unlikely that we ever will implement UNDO in the sense
that passage is talking about --- which is to say, reversing out the
effects of a failed transaction by scanning the WAL log backwards.
Pretty much all the current pghackers agree that MVCC is a better
approach.
MVCC means that you have to do periodic VACUUMs to get rid of cruft
from failed transactions, so it's not like it's a zero-cost substitute
for UNDO. But the nice thing about it is that the overhead
is paid in a background maintenance task, rather than being something
that has to happen in a foreground server task whenever a transaction
fails. Cleaning up via UNDO means that live clients are waiting for
you to do the cleanup.
There used to be a contingent that thought we should switch to using
UNDO because Oracle does it that way and Oracle must be right. But
we've gained more self-confidence since, I think.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2004-06-22 01:26:37 | Re: |
Previous Message | Thomas F. O'Connell | 2004-06-21 21:57:17 | pg_restore usage |