возможно ли создать уникальное ограничение в Postgresql, которое будет учитывать значения столбцов и работать с одним значением, но не с другим?
У меня есть таблица, в которой элементы имеют «код», который должен быть уникальным, но записи не удаляются из таблицы, просто помечаются как удаленные (специальное логическое поле «удалено»). Я мог бы создать unique(code, deleted)
для обеспечения уникальности, это работает, если я не помечаю 2 строки как удаленные одним и тем же «кодом». Если я попытаюсь «удалить» вторую строку, она предупредит, что 2 строки будут иметь одинаковые уникальные значения и не разрешит. То, что я хотел бы иметь, это проверить уникальное поле «код» для каждой строки, что «удалено» является ложным.