Re: More tests with USING INDEX replident and dropped indexes
Euler Taveira <euler.taveira@2ndquadrant.com>
From: Euler Taveira <euler.taveira@2ndquadrant.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Masahiko Sawada <masahiko.sawada@2ndquadrant.com>, Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2020-06-03T15:08:56Z
Lists: 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
Commits
-
Add regression tests for REPLICA IDENTITY with dropped indexes
- fe7fd4e9613f 14.0 landed