s
CREATE TABLE foo (id int PRIMARY KEY DEFAULT nextval('foo_id_seq'), uniq int UNIQUE NOT NULL);
INSERT INTO foo (id, uniq)
SELECT
COALESCE((SELECT id FROM foo WHERE uniq = :uniq), nextval('foo_id_seq')),
:uniq
ON CONFLICT (id) DO UPDATE SET ...;
Что тут правильно указывать в кач-ве ON CONFLICT клаузы? Я склоняюсь к id, шеф считает что uniq будет более правильно. Тут западло в том какая проверка сработает первая (id или uniq), или в чем-то другом?