On Wed, Aug 1, 2018 at 3:04 AM, Peter Eisentraut <peter.eisentr...@2ndquadrant.com> wrote: > 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.
Right. If nobody sees a reason not to change that, I think we should. It would make the behavior more predictable with, I hope, no real loss. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company