On 07/08/2018 15:29, Andres Freund wrote: > I don't think that solves the problem that an arriving relcache > invalidation would trigger a rebuild of rd_partdesc, while it actually > is referenced by running code.
The problem is more generally that a relcache invalidation changes all pointers that might be in use. So it's currently not safe to trigger a relcache invalidation (on tables) without some kind of exclusive lock. One possible solution to this is outlined here: <https://www.postgresql.org/message-id/CA+TgmobtmFT5g-0dA=vEFFtogjRAuDHcYPw+qEdou5dZPnF=p...@mail.gmail.com> -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services