Postgresql唯一索引:一个外键只有一个日期

Postgresql unique index: only one date for one foreign key

我有一只table“脚”:

ID   PRODUCT_ID  END_DATE
------------------------------
1    1           NULL
2    1           2022-02-02
3    1           2022-01-06 - This date could not be exists 
4    2           NULL
5    2           2022-01-23
6    3           NULL
7    3           NULL   

如何为具有相同id的一个产品创建唯一索引,并且只能存在一个日期?

创建条件唯一索引:

CREATE UNIQUE INDEX u_productid_end_date_not_null
ON foo(product_Id) 
WHERE end_date IS NOT NULL; -- this one will do the trick