Re: Prepared transactions vs novice DBAs, again

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>, Jeff Davis <pgsql(at)j-davis(dot)com>, jd(at)commandprompt(dot)com, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Prepared transactions vs novice DBAs, again
Date: 2009-04-23 01:21:12
Message-ID: 603c8f070904221821t30e1991cqba924c47df007f05@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Apr 22, 2009 at 8:58 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Robert Haas <robertmhaas(at)gmail(dot)com> writes:
>> On Wed, Apr 22, 2009 at 5:44 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>>> I think we've already milked what we can from that, since a prepared
>>> xact is treated exactly like an open one with no snapshot.  The point
>>> is that whatever rows it's written are still in-doubt and cannot be
>>> frozen, so the wraparound horizon cannot advance past its XID.
>
>> But surely that's not "the same" as a backend which is
>> idle-in-transaction?  In that case I think you still need a snapshot?
>
> No; at least not unless it's a serializable transaction.  That's the
> point of the snapshot management work that Alvaro did for 8.4.

Maybe I'm just dumb, but I don't get it. If I start a transaction and
do "SELECT * FROM foo" and then wait around for an hour or two while
someone else makes changes to foo and then do "SELECT * FROM foo"
again, I expect to see the same rows I saw the first time, which means
they still need to be around.

But if I now do "PREPARE TRANSACTION", it's no longer necessary for
those rows to be retained, because it's not possible for me to look at
them again.

Is this the commit you're talking about?

http://archives.postgresql.org/pgsql-committers/2008-05/msg00220.php

...Robert

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Stephen Frost 2009-04-23 01:27:38 Re: pg_restore -j <nothing>
Previous Message Tom Lane 2009-04-23 00:58:07 Re: Prepared transactions vs novice DBAs, again