Re: Truncate in synchronous logical replication failed
От | Japin Li |
---|---|
Тема | Re: Truncate in synchronous logical replication failed |
Дата | |
Msg-id | MEYP282MB166900A31C26966E35D1D09BB64C9@MEYP282MB1669.AUSP282.PROD.OUTLOOK.COM обсуждение исходный текст |
Ответ на | RE: Truncate in synchronous logical replication failed ("osumi.takamichi@fujitsu.com" <osumi.takamichi@fujitsu.com>) |
Ответы |
RE: Truncate in synchronous logical replication failed
|
Список | pgsql-hackers |
On Fri, 16 Apr 2021 at 17:19, osumi.takamichi@fujitsu.com <osumi.takamichi@fujitsu.com> wrote: > Hi > > > On Friday, April 16, 2021 5:50 PM Amit Kapila <amit.kapila16@gmail.com> wrote: >> On Fri, Apr 16, 2021 at 12:56 PM osumi.takamichi@fujitsu.com >> <osumi.takamichi@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. > I took the liberty to address review comments and provide a v2 patch on top of your's v1 patch, also merge the test case. Sorry for attaching. -- Regrads, Japin Li. ChengDu WenWu Information Technology Co.,Ltd.
Вложения
В списке pgsql-hackers по дате отправления: