Re: tablecmds: Open pg_class only when an update is required
| От | Chao Li |
|---|---|
| Тема | Re: tablecmds: Open pg_class only when an update is required |
| Дата | |
| Msg-id | F061684B-840F-4905-A58C-2D72B3BA162D@gmail.com обсуждение исходный текст |
| Ответ на | Re: tablecmds: Open pg_class only when an update is required (Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>) |
| Список | pgsql-hackers |
> On Dec 11, 2025, at 21:17, Ashutosh Bapat <ashutosh.bapat.oss@gmail.com> wrote: > > On Thu, Dec 11, 2025 at 12:45 PM Chao Li <li.evan.chao@gmail.com> wrote: >> >> Hi Hackers, >> >> I just noticed that relation_mark_replica_identity() unconditionally opened pg_class with RowExclusiveLock even in caseswhere relreplident has no change, which incurred unnecessary relation opens, lock acquisition. >> >> I just made a tiny refactor that defers opening pg_class until we know that an update to relreplident is required. > > I think we need to lock the relation before fetching the tuple so that > the field being read remains consistent. Instead of upgrading the lock > which can deadlock, we get hold of row exclusive lock right at the > beginning. > > -- > Best Wishes, > Ashutosh Bapat Hi Ashutosh, Thanks for the explanation, so I withdraw this patch. Best regards, -- Chao Li (Evan) HighGo Software Co., Ltd. https://www.highgo.com/
В списке pgsql-hackers по дате отправления: