Unika index utvärderas per rad inte per sats (vilket är t.ex. annorlunda än Oracles implementering)
Lösningen på detta problem är att använda en unik begränsning som kan skjutas upp och därmed utvärderas i slutet av transaktionen.
Så istället för det unika indexet, definiera en begränsning:
alter table test add constraint test_idx_pos unique (pos)
deferrable initially deferred;