Unikke indekser evalueres pr. række ikke pr. erklæring (hvilket f.eks. er forskelligt fra Oracles implementering)
Løsningen på dette problem er at bruge en unik begrænsning som kan udskydes og dermed vurderes ved slutningen af transaktionen.
Så i stedet af det unikke indeks, definer en begrænsning:
alter table test add constraint test_idx_pos unique (pos)
deferrable initially deferred;