Re: Savepoints in transactions for speed? - Mailing list pgsql-performance

From Mike Blackwell
Subject Re: Savepoints in transactions for speed?
Date
Msg-id CANPAkgutXZHmkPQ0ungdFixT6Nqc88c9cE=yNiwHPNag+JUHEA@mail.gmail.com
Whole thread Raw
In response to Re: Savepoints in transactions for speed?  (Jeff Janes <jeff.janes@gmail.com>)
Responses Re: Savepoints in transactions for speed?
List pgsql-performance



On Thu, Nov 29, 2012 at 12:09 PM, Jeff Janes <jeff.janes@gmail.com> wrote:

But If you do keep the drop index inside the transaction, then you
would probably be better off using truncate rather than delete, and
rebuild the index non-concurrently and move that inside the
transaction as well.



Hmm....  From the 9.2 manual it seems that might not work out so well:

TRUNCATE is not MVCC-safe (see Chapter 13 for general information about MVCC). After truncation, the table will appear empty to all concurrent transactions, even if they are using a snapshot taken before the truncation occurred.

It looks like other transactions could find an empty table while it was being reloaded under that approach.

pgsql-performance by date:

Previous
From: Jeff Janes
Date:
Subject: Re: Savepoints in transactions for speed?
Next
From: Jeff Davis
Date:
Subject: Re: Savepoints in transactions for speed?