对于数据库而言,我是真正的初学者,所以任何建议都是适当的。
必须有一种方法可以在PostgreSQL中组合UNIQUE
约束和EXCLUSION
约束。
。
我写的下面的一个是不正确的。 (在语法上肯定,也可能在逻辑上也是如此)
我正在努力实现以下目标:
UNIQUE
约束) EXCLUSION
约束) 我尝试了什么:
ALTER TABLE authentication
ADD CONSTRAINT lenient_constraint UNIQUE (useridx, authenticator)
EXCLUDE USING gist(validfrom WITH =, validuntil WITH &&);
答案 0 :(得分:0)
如果您询问是否可以在单个alter table语句中执行此操作,则答案为否。如果你问你是否可以在同一张桌子上做,答案是肯定的。见下文:
mydb# alter table test add unique(test);
NOTICE: ALTER TABLE / ADD UNIQUE will create implicit index "test_test_key" for table "test"
ALTER TABLE
mydb# alter table test add exclude (test with =);
NOTICE: ALTER TABLE / ADD EXCLUDE will create implicit index "test_test_excl" for table "test"
ALTER TABLE