Re: REINDEX CONCURRENTLY 2.0
Michael Paquier <michael.paquier@gmail.com>
From: Michael Paquier <michael.paquier@gmail.com>
To: Andreas Karlsson <andreas@proxel.se>
Cc: 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-17T14:05:31Z
Lists: pgsql-hackers
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. -- 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