Alvaro Herrera <[EMAIL PROTECTED]> 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. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly