Re: Savepoints in transactions for speed?
Mike Blackwell <mike.blackwell@rrd.com>
From: Mike Blackwell <mike.blackwell@rrd.com>
To:
Cc: "pgsql-performance@postgresql.org" <pgsql-performance@postgresql.org>
Date: 2012-11-29T18:14:20Z
Lists: 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<http://www.postgresql.org/docs/9.2/static/mvcc.html> 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.