Indeks unik dievaluasi per baris bukan per pernyataan (misalnya berbeda dengan implementasi Oracle)
Solusi untuk masalah ini adalah dengan menggunakan batasan yang unik yang dapat ditangguhkan dan dengan demikian dievaluasi pada akhir transaksi.
Jadi sebagai gantinya dari indeks unik, tentukan batasan:
alter table test add constraint test_idx_pos unique (pos)
deferrable initially deferred;