"Rodrigo Sakai" <rodrigo.sakai@zanthus.com.br> writes:
> So, I have to guarantee that this situation doesn't occur! But I don't
> want to use triggers because this check must be done on almost all tables
> that uses the type:
The fact that you don't want to do it doesn't make it the wrong
solution ;-)
At the moment there is no other way than a trigger. There's been some
speculation about whether GIST indexes could be extended to enforce
conditions like "no overlapping values in this column" (as a
generalization of the concept of unique indexes). No one's tried to
make that happen, though.
BTW, you might want to look at the "timetravel" code in contrib/spi/
... it's a tad old and crufty, but it sounds like you are trying to do
something pretty similar to that.
regards, tom lane