Re: tablecmds: Open pg_class only when an update is required
| От | Ashutosh Bapat |
|---|---|
| Тема | Re: tablecmds: Open pg_class only when an update is required |
| Дата | |
| Msg-id | CAExHW5tvbjm3VeyXK3F4Z_tp9i-9om_U14PaqAQjyGG=6bomdg@mail.gmail.com обсуждение исходный текст |
| Ответ на | tablecmds: Open pg_class only when an update is required (Chao Li <li.evan.chao@gmail.com>) |
| Ответы |
Re: tablecmds: Open pg_class only when an update is required
|
| Список | pgsql-hackers |
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
В списке pgsql-hackers по дате отправления: