Search Postgresql Archives

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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/9/23 19:16, Rob Sargent wrote:
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.

My use case is for bulk loading data into a table I know has data that will create a PK/Unique violation with the inserted data. It's a quick and dirty way to avoid queries that look for potential violations ahead of time, basically 'Ask forgiveness' vs 'Get permission'.

--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx






[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux