Я получаю уникальную проблему ограничения в postgresql при обновлении таблицы.У меня есть таблица с 3 столбцами и уникальным ограничением на один из столбцов (internal_state).В этой таблице будет только два столбца, а значения для internal_state равны 1,0.Запрос на обновление:
UPDATE backfeed_state SET internal_state = internal_state - 1<br>
WHERE EXISTS (SELECT 1 FROM backfeed_state d2 WHERE d2.internal_state = 1 )
Выполнение этого запроса нормально в MSSqlserver, но в postgre выдает уникальную ошибку ограничения.Я понимаю, что в SQLServer после обновления всех строк проверяются только ограничения на столбцы, но в postgre после обновления каждой строки проверяются ограничения.Поэтому после обновления первой строки (значение internal_state от 1 до 0) postgre проверяет ограничение и выдает ошибку даже до обновления второй строки.
Есть ли способ избежать этой ситуации?