pgsql: Prevent reindex of invalid indexes on TOAST tables - Mailing list pgsql-committers

From Michael Paquier
Subject pgsql: Prevent reindex of invalid indexes on TOAST tables
Date
Msg-id E1jBYaN-0005BG-B5@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Prevent reindex of invalid indexes on TOAST tables

Such indexes can only be duplicated leftovers of a previously failed
REINDEX CONCURRENTLY command, and a valid equivalent is guaranteed to
exist.  As toast indexes can only be dropped if invalid, reindexing
these would lead to useless duplicated indexes that can't be dropped
anymore, except if the parent relation is dropped.

Thanks to Justin Pryzby for reminding that this problem was reported
long ago during the review of the original patch of REINDEX
CONCURRENTLY, but the issue was never addressed.

Reported-by: Sergei Kornilov, Justin Pryzby
Author: Julien Rouhaud
Reviewed-by: Michael Paquier
Discussion: https://postgr.es/m/36712441546604286%40sas1-890ba5c2334a.qloud-c.yandex.net
Discussion: https://postgr.es/m/20200216190835.GA21832@telsasoft.com
Backpatch-through: 12

Branch
------
REL_12_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/8bca5f93547c77f3beb5ac679d6471504fc09a43

Modified Files
--------------
src/backend/catalog/index.c         | 28 ++++++++++++++++++++++++++++
src/backend/commands/indexcmds.c    | 10 ++++++++++
src/backend/utils/cache/lsyscache.c | 23 +++++++++++++++++++++++
src/include/utils/lsyscache.h       |  1 +
4 files changed, 62 insertions(+)


pgsql-committers by date:

Previous
From: Fujii Masao
Date:
Subject: pgsql: Tidy up XLogSource code in xlog.c.
Next
From: Peter Eisentraut
Date:
Subject: pgsql: Support adding partitioned tables to publication