Jim Nasby <Jim(dot)Nasby(at)BlueTreble(dot)com> writes:
> Rather than this, I think an exclusive-or operator would be a lot more
> useful. The only difficulty I run into with CHECK constaints is when I
> want to ensure that only ONE condition is true.
"bool != bool" works as XOR. If you need "exactly one of N" you could
do something like "(cond1::int + cond2::int + ...) = 1". We could
wrap some syntactic sugar around either of these, but it's not clear
to me that it'd be any more useful than a custom SQL function.
regards, tom lane