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