Re: Improve behavior of concurrent ANALYZE/VACUUM

Robert Haas <robertmhaas@gmail.com>

From: Robert Haas <robertmhaas@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Postgres hackers <pgsql-hackers@postgresql.org>, "Bossart, Nathan" <bossartn@amazon.com>, Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>
Date: 2018-08-14T15:26:29Z
Lists: pgsql-hackers
On Sun, Aug 12, 2018 at 10:21 PM, Michael Paquier <michael@paquier.xyz> wrote:
> In the previous thread, we discussed a couple of approaches, but I was
> not happy with any of those, hence I have been spending more time in
> getting to a solution which has no user-facing changes, and still solves
> the problems folks have been complaining about, and the result is the
> patch attached.  The patch changes a couple of things regarding ACL
> checks, by simply centralizing the ownership checks into a single
> routine used by both ANALYZE and VACUUM.  This routine is then used in
> two more places for manual ANALYZE and VACUUM:
> - When specifying directly one or more relations in the command, in
> expand_vacuum_rel().
> - When building the complete list of relations to work on in the case of
> a database-wide operation, in get_all_vacuum_rels().

I feel like you're not being very clear about exactly what this new
approach is.  Sorry if I'm being dense.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


Commits

  1. Improve VACUUM and ANALYZE by avoiding early lock queue

  2. Add more tests for VACUUM skips with partitioned tables

  3. Add regression tests for VACUUM and ANALYZE with relation skips