Re: INSERT ON CONFLICT and RETURNING
От | Konstantin Knizhnik |
---|---|
Тема | Re: INSERT ON CONFLICT and RETURNING |
Дата | |
Msg-id | 9dac1fcf-7b4c-0eb0-6785-c1f731adacc5@postgrespro.ru обсуждение исходный текст |
Ответ на | Re: INSERT ON CONFLICT and RETURNING (Marko Tiikkaja <marko@joh.to>) |
Ответы |
Re: INSERT ON CONFLICT and RETURNING
|
Список | pgsql-hackers |
On 03.09.2020 19:30, Marko Tiikkaja wrote: > There's prior art on this: https://commitfest.postgresql.org/15/1241/ > > > .m Ooops:( Thank you. I missed it. But frankly speaking I still didn't find answer for my question in this thread: what are the dangerous scenarios with ON CONFLICT DO NOTHING/SELECT. Yes, record is not exclusively locked. But I just want to obtain value of some column which is not a source of conflict. I do not understand what can be wrong if some other transaction changed this column. And I certainly can't agree with Peter's statement: > Whereas here, with ON CONFLICT DO SELECT, > I see a somewhat greater risk, and a much, much smaller benefit. A > benefit that might actually be indistinguishable from zero. From my point of view it is quite common use case when we need to convert some long key to small autogenerated record identifier. Without UPSERT we have to perform two queries instead of just one . And even with current implementation of INSERT ON CONFLICT... we have to either perform extra lookup, either produce new (useless) tuple version. -- Konstantin Knizhnik Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
В списке pgsql-hackers по дате отправления: