Re: Preserve attstattarget on REINDEX CONCURRENTLY
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Ronan Dunklau <ronan@dunklau.fr>
Cc: Tomas Vondra <tomas.vondra@enterprisedb.com>, pgsql-hackers@postgresql.org
Date: 2021-02-05T02:17:48Z
Lists: pgsql-hackers
Attachments
- reindex-conc-attstattarget-v2.patch (text/x-diff) patch v2
On Thu, Feb 04, 2021 at 03:52:44PM +0100, Ronan Dunklau wrote: >> Hmmm, that sure seems like a bug, or at least unexpected behavior (that >> I don't see mentioned in the docs). Yeah, per the rule of consistency, this classifies as a bug to me. > Please find attached a correct patch. ConstructTupleDescriptor() does not matter much, but this patch is not acceptable to me as it touches the area of the index creation while statistics on an index expression can only be changed with a special flavor of ALTER INDEX with column numbers. This would imply an ABI breakage, so it cannot be backpatched as-is. Let's copy this data in index_concurrently_swap() instead. The attached patch does that, and adds a test cheaper than what was proposed. There is a minor release planned for next week, so I may be better to wait after that so as we have enough time to agree on a solution. -- Michael
Commits
-
Fix ORDER BY clause in new regression test of REINDEX CONCURRENTLY
- 5b2945ec0a39 12.7 landed
- c6cd20d91ce9 13.3 landed
- 4f4726005082 14.0 landed
-
Preserve pg_attribute.attstattarget across REINDEX CONCURRENTLY
- 85edb1f2615d 12.7 landed
- 849383138581 13.3 landed
- bd1208098029 14.0 landed