Re: distinguish update from insert (on conflict)

Поиск
Список
Период
Сортировка
От Adrian Klaver
Тема Re: distinguish update from insert (on conflict)
Дата
Msg-id ea171054-0a98-7467-78f6-ea34a20d2028@aklaver.com
обсуждение исходный текст
Ответ на Re: distinguish update from insert (on conflict)  (Justin Pryzby <pryzby@telsasoft.com>)
Список pgsql-general
On 5/21/19 7:37 PM, Justin Pryzby wrote:
> On Tue, May 21, 2019 at 06:57:36PM -0700, Adrian Klaver wrote:
>> On 5/21/19 6:34 PM, Justin Pryzby wrote:
>>> Is it still impossible to distinguish whether a row was inserted vs updated ?
>>
>> You will need to be more specific.
> 
> Sorry, I mean with UPSERT / "INSERT .. ON CONFLICT DO UPDATE", is it possible
> to tell whether a row was inserted vs. updated ?

In addition to Fabio's suggestion, from my previous post:

https://www.postgresql.org/docs/10/sql-createtrigger.html

"n some cases it is possible for a single SQL command to fire more than 
one kind of trigger. For instance an INSERT with an ON CONFLICT DO 
UPDATE clause may cause both insert and update operations, so it will 
fire both kinds of triggers as needed. The transition relations supplied 
to triggers are specific to their event type; thus an INSERT trigger 
will see only the inserted rows, while an UPDATE trigger will see only 
the updated rows."

So you might want to check out triggers using transition tables.

> 
> Thanks,
> Justin
> 


-- 
Adrian Klaver
adrian.klaver@aklaver.com



В списке pgsql-general по дате отправления:

Предыдущее
От: Rich Shepard
Дата:
Сообщение: Re: Bulk inserts into two (related) tables
Следующее
От: Rob Sargent
Дата:
Сообщение: Re: Bulk inserts into two (related) tables