Wielowartościowe upsert są zdecydowanie możliwe, a znaczna część powodów, dla których wstawka ... w konflikcie ... została zaimplementowana.
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;
wyniki w
regress=> SELECT * FROM table1 ORDER BY col1;
col1 | col2
------+------
1 | foo
2 | bar
3 | baz
4 | turkey
(4 rows)
Jeśli dokumenty były niejasne, prześlij odpowiednią opinię na listę dyskusyjną pgsql-general. Albo jeszcze lepiej, zaproponuj poprawkę do dokumentacji.