Tom Lane:
> No, we don't support partial indexes on catalogs, and I don't think
> we want to change that. Partial indexes would require expression
> evaluations occurring at very inopportune times.
I see. Is that the same for indexes *on* an expression? Or would those
be ok?
With a custom operator, an EXCLUDE constraint on the ROW(reldatabase,
relname) expression could work. The operator would compare:
- (0, name1) and (0, name2) as name1 == name2
- (db1, name1) and (0, name2) as name1 == name2
- (0, name1) and (db2, name2) as name1 == name2
- (db1, name1) and (db2, name2) as db1 == db2 && name1 == name2
or just (db1 == 0 || db2 == 0 || db1 == db2) && name1 == name2.
Now, you are going to tell me that EXCLUDE constraints are not supported
on catalogs either, right? ;)
Best,
Wolfgang