Re: More tests with USING INDEX replident and dropped indexes

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Masahiko Sawada <masahiko.sawada@2ndquadrant.com>
Cc: Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2020-06-03T06:13:47Z
Lists: pgsql-hackers
On Tue, Jun 02, 2020 at 04:46:55PM +0900, Masahiko Sawada wrote:
> How about avoiding such an inconsistent situation? In that case,
> replica identity works as NOTHING, but pg_class.relreplident is still
> ‘i’, confusing users. It seems to me that dropping an index specified
> by REPLICA IDENTITY USING INDEX is not a valid operation.

This looks first like complicating RemoveRelations() or the internal
object removal APIs with a dedicated lookup at this index's pg_index
tuple, but you could just put that in index_drop when REINDEX
CONCURRENTLY is not used.  Still, I am not sure if it is worth
complicating those code paths.  It would be better to get more
opinions about that first.
--
Michael

Commits

  1. Add regression tests for REPLICA IDENTITY with dropped indexes