Re: More tests with USING INDEX replident and dropped indexes - Mailing list pgsql-hackers

From Euler Taveira
Subject Re: More tests with USING INDEX replident and dropped indexes
Date
Msg-id CAH503wAon6oKTpNVhMbRnD=qAFD2t+afDdHAg6SKaw-FHXgh+A@mail.gmail.com
Whole thread Raw
In response to Re: More tests with USING INDEX replident and dropped indexes  (Michael Paquier <michael@paquier.xyz>)
Responses Re: More tests with USING INDEX replident and dropped indexes
List pgsql-hackers
On Wed, 3 Jun 2020 at 03:14, Michael Paquier <michael@paquier.xyz> wrote:
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.


Consistency is a good goal. Why don't we clear the relreplident from the
relation while dropping the index? relation_mark_replica_identity() already
does that but do other things too. Let's move the first code block from
relation_mark_replica_identity to another function and call this new function
while dropping the index.


--
Euler Taveira                 http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

pgsql-hackers by date:

Previous
From: Fujii Masao
Date:
Subject: Re: SIGSEGV from START_REPLICATION 0/XXXXXXX in XLogSendPhysical ()at walsender.c:2762
Next
From: Robert Haas
Date:
Subject: Re: Why is pq_begintypsend so slow?