Hi
On Friday, April 16, 2021 5:50 PM Amit Kapila <amit.kapil...@gmail.com> wrote: > On Fri, Apr 16, 2021 at 12:56 PM osumi.takami...@fujitsu.com > <osumi.takami...@fujitsu.com> wrote: > > > > > Thanks for your reminder. It might be a way to solve this problem. > > Yeah. I've made the 1st patch for this issue. > > > > In my env, with the patch > > the TRUNCATE in synchronous logical replication doesn't hang. > > > > Few initial comments: > ===================== > 1. > + relreplindex = relation->rd_replidindex; > + > + /* > + * build attributes to idindexattrs. > + */ > + idindexattrs = NULL; > + foreach(l, indexoidlist) > + { > + Oid indexOid = lfirst_oid(l); > + Relation indexDesc; > + int i; > + bool isIDKey; /* replica identity index */ > + > + indexDesc = RelationIdGetRelation(indexOid); > > When you have oid of replica identity index (relreplindex) then what is the > need to traverse all the indexes? Ok. No need to traverse all the indexes. Will fix this part. > 2. > It is better to name the function as RelationGet... You are right. I'll modify this in my next version. Best Regards, Takamichi Osumi