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