Re: REINDEX CONCURRENTLY 2.0
Michael Paquier <michael.paquier@gmail.com>
From: Michael Paquier <michael.paquier@gmail.com>
To: Bruce Momjian <bruce@momjian.us>
Cc: Andreas Karlsson <andreas@proxel.se>,
Andres Freund <andres@2ndquadrant.com>, Robert Haas <robertmhaas@gmail.com>, Peter Eisentraut <peter_e@gmx.net>,
Jim Nasby <jim@nasby.net>, PostgreSQL mailing lists <pgsql-hackers@postgresql.org>
Date: 2017-02-27T22:19:40Z
Lists: pgsql-hackers
On Tue, Feb 28, 2017 at 5:29 AM, Bruce Momjian <bruce@momjian.us> wrote: > On Fri, Feb 17, 2017 at 11:05:31PM +0900, Michael Paquier wrote: >> On Fri, Feb 17, 2017 at 10:43 PM, Andreas Karlsson <andreas@proxel.se> wrote: >> > Thinking about this makes me wonder about why you decided to use a >> > transaction per index in many of the steps rather than a transaction per >> > step. Most steps should be quick. The only steps I think the makes sense to >> > have a transaction per table are. >> >> I don't recall all the details to be honest :) >> >> > 1) When building indexes to avoid long running transactions. >> > 2) When validating the new indexes, also to avoid long running transactions. >> > >> > But when swapping the indexes or when dropping the old indexes I do not see >> > any reason to not just use one transaction per step since we do not even >> > have to wait for any locks (other than WaitForLockers which we just want to >> > call once anyway since all indexes relate to the same table). >> >> Perhaps, this really needs a careful lookup. >> >> By the way, as this patch is showing up for the first time in this >> development cycle, would it be allowed in the last commit fest? That's >> not a patch in the easy category, far from that, but it does not >> present a new concept. > > FYI, the thread started on 2013-11-15. I don't object to the addition of this patch in next CF as this presents no new concept. Still per the complications this patch and because it is a complicated patch I was wondering if people are fine to include it in this last CF. -- Michael
Commits
-
Prevent reindex of invalid indexes on TOAST tables
- 8bca5f93547c 12.3 landed
- 61d7c7bce368 13.0 landed
-
Rework handling of invalid indexes with REINDEX CONCURRENTLY
- a6dcf9df4d91 12.0 landed
-
Split builtins.h to a new header ruleutils.h
- 7b1c2a0f2066 9.5.0 cited