>> Bruce, is that the case? Do you really have it documented? If so,
>> where?
> src/backend/utils/cache/syscache.c
BTW, it occurs to me that the real reason adding a syscache is invasive
is that the syscache routines accept parameters that are integer indexes
into syscache.c's cacheinfo[] array. So there's no way to add a
syscache without changing this file. But suppose that the routines
instead accepted pointers to cachedesc structs. Then an add-on module
could define its own syscache without ever touching syscache.c. This
wouldn't even take any widespread code change, just change what the
macros AGGNAME &etc expand to...
regards, tom lane