Skip site navigation (1) Skip section navigation (2)


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: (view raw, whole thread or download thread mbox)
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

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

In response to

  • UNDO at 2004-06-21 16:09:24 from Carlos Benkendorf

pgsql-admin by date

Next:From: Tom LaneDate: 2004-06-22 01:26:37
Subject: Re:
Previous:From: Thomas F. O'ConnellDate: 2004-06-21 21:57:17
Subject: pg_restore usage

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group