小编Nev*_*evD的帖子

Postgres:使用条件创建唯一索引

我在 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)

有任何线索如何做到这一点吗?

postgresql index

4
推荐指数
1
解决办法
1651
查看次数

标签 统计

index ×1

postgresql ×1