Ответы пользователя по тегу PostgreSQL
  • Как обойти ошибку ERROR: duplicate key value violates unique constraint?

    magnitudo
    @magnitudo
    Архитектор, программист, предприниматель...
    Я думаю, что проблема в том, что при обновлении записей в какой-то момент времени появляются дубликаты (т.е. было поле 3 и 6, делаем +3 и сначала нам попадает поле 3, т.е. там будет 6, что конфликтует с уже имеющейся 6).
    Вам нужно либо изменить PRIMARY KEY на DEFERRABLE (чтобы проверка выполнялась при завершении транзакции), либо обновлять данные в отсортированном виде, т.е. сначала прибавлять к самым новым записям в таблице.
    Ответ написан
    Комментировать
  • В чем принципиальное отличие unique (constraints) от unique index?

    magnitudo
    @magnitudo
    Архитектор, программист, предприниматель...
    Фактически создавая индекс вы создаёте ограничение и наоборот.

    При создании ограничения нельзя управлять созданием индекса. При создании индекса — ограничением. Со всеми вытекающими.

    На практике единственная разница с которой я встречался, это разница в тексте ошибок ;)
    Ответ написан
    1 комментарий