I wrote:
>> After review of all the callers of RelationClearRelation, it seems like
>> most of them already have sufficient guards to prevent triggering of the
>> Assert. The ones that lack such tests are AtEOXact_cleanup and
>> AtEOSubXact_cleanup. So what I'm now thinking is that those should do
>> something along the lines of
> Specifically, this, which can be shown to mitigate the results of the
> problem cases in an otherwise-unpatched build.
And pushed. I noticed that while the relcache.c fix mitigates the error
pretty well in 9.3 and up, in the older branches you still end up with
a PANIC due to error stack overflow. This may indicate that there's
some patch we'd have been better off back-porting. However, with the
Portal changes in place the test cases work in all branches, so I'm
not excited enough to pursue the point further myself.
regards, tom lane