Ein mehrwertiges Upsert ist definitiv möglich, und ein bedeutender Teil des Grundes, warum Insert ... bei Konflikt ... implementiert wurde.
CREATE TABLE table1(col1 int, col2 text, constraint theconstraint unique(col1));
INSERT INTO table1 VALUES (1, 'parrot'), (4, 'turkey');
INSERT INTO table1 VALUES (1, 'foo'), (2,'bar'), (3,'baz')
ON CONFLICT ON CONSTRAINT theconstraint
DO UPDATE SET col2 = EXCLUDED.col2;
Ergebnisse in
regress=> SELECT * FROM table1 ORDER BY col1;
col1 | col2
------+------
1 | foo
2 | bar
3 | baz
4 | turkey
(4 rows)
Wenn die Dokumentation unklar war, senden Sie bitte entsprechendes Feedback an die Mailingliste pgsql-general. Oder noch besser, schlagen Sie einen Patch für die Dokumentation vor.