Re: Alter index rename concurrently to

Peter Eisentraut <peter.eisentraut@2ndquadrant.com>

From: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>, Andrey Klychkov <aaklychkov@mail.ru>, Victor Yegorov <vyegorov@gmail.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2018-08-01T07:04:20Z
Lists: pgsql-hackers
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.

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Commits

  1. Lower lock level for renaming indexes