Robert Haas <robertmhaas@gmail.com> writes:
> On Wed, Mar 12, 2014 at 9:19 AM, Andres Freund <andres@2ndquadrant.com> wrote:
>> Except that we don't have the infrastructure to perform such checks
>> (neither partial, nor expression indexes, no exclusion constraints) on
>> system tables atm. So it's not a entirely trivial thing to do.
> I'm probably woefully underinformed here, but it seems like getting
> exclusion constraints working might be simpler than partial indexes or
> expression indexes, because both of those involve being able to
> evaluate arbitrary predicates, whereas exclusion constraints just
> involve invoking index access methods to look for conflicting rows via
> smarts built into your index AM. The latter seems to involve less
> risk of circularity (but I might be wrong).
You might be right. I don't think anyone's ever looked at what it
would take to support that particular case. We have looked at the
other cases and run away screaming ... but I think that was before
exclusion constraints existed.
regards, tom lane