我在 Postgres 中有一个表,其中记录类型为[event_id, user_id, status]
。用户的范围是每个事件的,因此我有一个唯一的索引,[event_id, user_id]
以便用户具有唯一的状态。状态是枚举类型。
但是,我最多只能拥有一条 status=owner 的记录。我正在尝试放置一个条件索引,例如[event_id, status] where "status" == "owner"
.
[ev, user, status]
[1, 1, owner] <- ok
[1, 2, owner] <- wrong
[1, 2, pending] <- ok
[1, 3, pending] <- ok
Run Code Online (Sandbox Code Playgroud)
有任何线索如何做到这一点吗?