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

Francisco Olarte <folarte@peoplecall.com>

From: Francisco Olarte <folarte@peoplecall.com>
To: Rob Sargent <robjsargent@gmail.com>
Cc: pgsql-general@lists.postgresql.org
Date: 2023-04-10T07:41:15Z
Lists: pgsql-general
Hi Rob:

On Mon, 10 Apr 2023 at 04:16, Rob Sargent <robjsargent@gmail.com> wrote:
> > 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.

This is extremely easy to do if you have natural instead of surrogate keys.

I work in telephony, upserting the last incoming call timestamp for a
phone number will be exactly that.

Francisco Olarte.