An example in UPDATE documentation page is a bit outdated

Started by PG Bug reporting formabout 1 month ago2 messagesdocs
Jump to latest
#1PG Bug reporting form
noreply@postgresql.org

The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/18/sql-update.html
Description:

There is an example on UPDATE documentation page --

BEGIN;
-- other operations
SAVEPOINT sp1;
INSERT INTO wines VALUES('Chateau Lafite 2003', '24');
-- Assume the above fails because of a unique key violation,
-- so now we issue these commands:
ROLLBACK TO sp1;
UPDATE wines SET stock = stock + 24 WHERE winename = 'Chateau Lafite 2003';
-- continue with other operations, and eventually
COMMIT;

Now we can use INSERT ... ON CONFLICT DO UPDATE command in this case.

#2David G. Johnston
david.g.johnston@gmail.com
In reply to: PG Bug reporting form (#1)
Re: An example in UPDATE documentation page is a bit outdated

On Sat, Mar 7, 2026 at 1:38 PM PG Doc comments form <noreply@postgresql.org>
wrote:

The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/18/sql-update.html
Description:

There is an example on UPDATE documentation page --

BEGIN;
-- other operations
SAVEPOINT sp1;
INSERT INTO wines VALUES('Chateau Lafite 2003', '24');
-- Assume the above fails because of a unique key violation,
-- so now we issue these commands:
ROLLBACK TO sp1;
UPDATE wines SET stock = stock + 24 WHERE winename = 'Chateau Lafite 2003';
-- continue with other operations, and eventually
COMMIT;

Now we can use INSERT ... ON CONFLICT DO UPDATE command in this case.

My second reaction was why would we put either variant on the update
command reference page.

Admittedly both of those examples are probably good to have somewhere, and
I'm not sure where would be the most discoverable place.

I'd rather remove the example and write a paragraph pointing the reader to
the savepoint and insert pages if they have a need to perform a conditional
insert/update pairing.

David J.