一意のインデックスは、ステートメントごとではなく行ごとに評価されます(たとえば、Oracleの実装とは異なります)
この問題の解決策は、一意の制約を使用することです。 これは延期できるため、トランザクションの最後に評価されます。
したがって、代わりに 一意のインデックスの制約を定義します:
alter table test add constraint test_idx_pos unique (pos)
deferrable initially deferred;
一意のインデックスは、ステートメントごとではなく行ごとに評価されます(たとえば、Oracleの実装とは異なります)
この問題の解決策は、一意の制約を使用することです。 これは延期できるため、トランザクションの最後に評価されます。
したがって、代わりに 一意のインデックスの制約を定義します:
alter table test add constraint test_idx_pos unique (pos)
deferrable initially deferred;