Re: [EXTERNAL]: Re: [EXTERNAL]: Re: UPSERT in Postgres

From: Rob Sargent <robjsargent(at)gmail(dot)com>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: [EXTERNAL]: Re: [EXTERNAL]: Re: UPSERT in Postgres
Date: 2023-04-10 02:16:05
Message-ID: bd8b994f-adcf-766d-7766-2d83f0ba4139@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 4/9/23 19:55, Louis Tian wrote:
> Hi Alban,
>
> "I am not expecting an error here", by "here" I means when doing a TRUE UPSERT (an upsert current does not exist in Postgres).
> I am NOT referring to an "Insert on conflict do update" (which despite its intention and wide acceptance is not fully equivalent to a true upsert).
> I understand the error I am getting now is due to not null constraint given how "insert on conflict" works.
>
> An UPSERT checks whether a row exists, if so, it does an update, if not it does an insert. This is the literal definition.

This the part that's always eluded me: How does the client, the
UPSERTer, come to hold an id and not know whether or not it's already in
the database.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2023-04-10 04:30:54 Re: [EXTERNAL]: Re: [EXTERNAL]: Re: UPSERT in Postgres
Previous Message Louis Tian 2023-04-10 01:55:37 RE: [EXTERNAL]: Re: [EXTERNAL]: Re: UPSERT in Postgres