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? 2. It is better to name the function as RelationGet... -- With Regards, Amit Kapila.