On 2018-08-01 15:33:09 -0400, Robert Haas wrote:
> On Wed, Aug 1, 2018 at 3:04 AM, Peter Eisentraut
> <peter.eisentraut@2ndquadrant.com> wrote:
> > On 31/07/2018 23:25, Tom Lane wrote:
> >> Peter Eisentraut <peter.eisentraut@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.
What precisely are you proposing?
Greetings,
Andres Freund