Re: Problem with logical replication
Masahiko Sawada <masahiko.sawada@2ndquadrant.com>
From: Masahiko Sawada <masahiko.sawada@2ndquadrant.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Euler Taveira <euler.taveira@2ndquadrant.com>,
Dilip Kumar <dilipbalaut@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-05-12T09:35:27Z
Lists: pgsql-hackers
On Mon, 11 May 2020 at 16:28, Michael Paquier <michael@paquier.xyz> wrote: > > On Sun, May 10, 2020 at 07:08:03PM -0300, Euler Taveira wrote: > > I attached a patch with the described solution. I also included a test that > > covers this scenario. > > - Assert(RelationGetReplicaIndex(rel) == RelationGetRelid(idxrel)); > + Assert(GetRelationIdentityOrPK(rel) == RelationGetRelid(idxrel)); > > Not much a fan of adding a routine to relcache.c to do the work of two > routines already present, so I think that we had better add an extra > condition based on RelationGetPrimaryKeyIndex, and give up on > GetRelationIdentityOrPK() in execReplication.c. +1 In any case, it seems to me that the comment of build_replindex_scan_key needs to be updated. * This is not generic routine, it expects the idxrel to be replication * identity of a rel and meet all limitations associated with that. For example, we can update the above: * This is not generic routine, it expects the idxrel to be replication * identity or primary key of a rel and meet all limitations associated * with that. Regards, -- Masahiko Sawada http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Fix assertion with relation using REPLICA IDENTITY FULL in subscriber
- 3acb30b49818 10.14 landed
- 70ae82b9b4b5 11.9 landed
- b4ded2f227f3 12.4 landed
- 7ccb2f54d9f3 13.0 landed