] Как добавить условный уникальный индекс в PostgreSQL

У меня есть таблица line_items со следующими столбцами:

product_id
variant_id

variant_id допускает значение NULL.

Вот условие:

  • Если option_id равен NULL, то product_id должен быть уникальным.
  • Если option_id имеет значение, тогда комбинация product_id и variant_id должна быть уникальной.

Возможно ли это в PostgreSQL?

10
задан Erwin Brandstetter 18 January 2012 в 22:21
поделиться