From: | Simon Riggs <simon(at)2ndquadrant(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Alvaro Herrera <alvherre(at)surnet(dot)cl>, Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, Greg Stark <gsstark(at)mit(dot)edu>, Neil Conway <neilc(at)samurai(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: NOLOGGING option, or ? |
Date: | 2005-06-01 20:17:39 |
Message-ID: | 1117657059.3844.1042.camel@localhost.localdomain |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, 2005-06-01 at 14:24 -0400, Tom Lane wrote:
> Alvaro Herrera <alvherre(at)surnet(dot)cl> writes:
> > On Wed, Jun 01, 2005 at 06:55:46PM +0100, Simon Riggs wrote:
> >> We're holding the table lock and will continue to do so until end of
> >> transaction. No transaction with an earlier id will ever see the data we
> >> load because of the lock.
>
> > Suppose you load half the tuples and the plug is pulled. After
> > recovery, you have half-load of tuples that are visible to everyone.
> > This is a no-no.
>
> Simon is expecting that the loaded tuples are guaranteed to be erased
> (by table truncation) during recovery. As I just noted I'm unconvinced
> of the safety of doing truncations during recovery, so I'd prefer not
> to depend on that.
>
> The scenario I was thinking of was different: you load pre-frozen
> tuples, commit, and thereby release the table lock. Now the tuples
> are visible to transactions that started before you did; that's what
> violates MVCC.
Agreed. MVCC violation. OK, back to the drawing board.
Best Regards, Simon Riggs
From | Date | Subject | |
---|---|---|---|
Next Message | Oleg Bartunov | 2005-06-01 20:29:57 | Re: Google's Summer of Code ... |
Previous Message | Luke Lonergan | 2005-06-01 19:40:31 | Re: Consumer-grade vs enterprise-grade disk drives |