On 31/07/2018 23:25, Tom Lane wrote: > Peter Eisentraut <peter.eisentr...@2ndquadrant.com> writes: >> On 27/07/2018 16:16, Robert Haas wrote: >>> I also suspect that an appropriate fix might be to ensure that >>> AcceptInvalidationMessages() is run at least once at the beginning of >>> parse analysis. > >> Why don't we just do that? > > Don't we do that already? Certainly it should get run in advance of > any relation name lookup. There is one at transaction start also, > if memory serves.
Right, we do it at transaction start and when opening a relation with a lock that you don't already have. Which I suppose in practice is almost equivalent to at least once per command, but you can construct cases where subsequent commands in a transaction use the all same tables as the previous commands, in which case they don't run AIM() again. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services