Как написать проверку, которая требовала бы уникальность набора столбцов(как UNIQUE), но не для всех записей, а только для тех, которые удовлетворяют определенному условию(если определенное поле-флаг true).
Пока что в голову приходит только:
- Проверять флаг в CHECK и вставлять в разные партиции для той партиции в которую будут попадать записи у которых флаг true сделать UNIQUE
- Добавить фиктивное поле к полям проверяемым в UNIQUE. Для записей у которых флаг true фиктивное поле должно быть одинаковым. Для остальных записей фиктивное поле должно быть уникально.
Оба варианта мне не очень нравятся.