граничение @PostgreSQL, которое проверяется при фиксации, а не ранее [duplicate]

На этот вопрос уже есть ответ:

Ограничение определено DEFERRABLE INITIALLY IMMEDIATE все еще отложено? 2 ответа

Можно ли создать для создания уникального индекса или другого вида ограничения в PostgreSQL, которое будет проверяться в транзакции COMMIT, а не на миллисекунду раньше?

Мне нужен индекс для пары (record_id, ordering), поэтому я удостоверяюсь, что внутри данного record_id только одна и не более одной записи имеют одинаковый порядок. Где проблема? Ну, проблема в том, как веб-фреймворк, который я использую, обрабатывает переупорядочение элементов. Похоже, что при перемещении элемента, когда был изменен порядок сортировки, среда записывает новый элемент с новым значением порядка, а затем вскоре обновляет другой, создавая временную ситуацию, когда несколько записей имеют та же самая стоимость заказа. После повторного заказа все записи обновляются, и при транзакции COMMIT все должно быть снова в порядке.

Я использую PostgreSQL 10, если это имеет значение.

Ответы на вопрос(1)

Ваш ответ на вопрос