OSDN Git Service

Make CLUSTER lock the old table's toast table before copying data.
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 1 May 2011 21:57:33 +0000 (17:57 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 1 May 2011 21:57:33 +0000 (17:57 -0400)
commit83b7584944b3a9df064cccac06822093f1a83793
treea9fc527eb77fbb06f3181fb63e08ceba68c8fe73
parent5a71b641309ea982593edf1f28d408c21885897b
Make CLUSTER lock the old table's toast table before copying data.

We must lock out autovacuuming of the old toast table before computing the
OldestXmin horizon we will use.  Otherwise, autovacuum could start on the
toast table later, compute a later OldestXmin horizon, and remove as DEAD
toast tuples that we still need (because we think their parent tuples are
only RECENTLY_DEAD).  Per further thought about bug #5998.
src/backend/commands/cluster.c