Re: Documentation clarification re: ANALYZE

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
Cc: Isaac Morland <isaac(dot)morland(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Documentation clarification re: ANALYZE
Date: 2019-08-07 21:54:14
Message-ID: 23529.1565214854@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

"David G. Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> writes:
> On Wed, Aug 7, 2019 at 2:14 PM Isaac Morland <isaac(dot)morland(at)gmail(dot)com>
> wrote:
>> I'm looking at https://www.postgresql.org/docs/current/sql-analyze.html,
>> where it says “Without a table_and_columns list, ANALYZE processes every
>> table and materialized view in the current database that the current user
>> has permission to analyze.”.
>> I don’t believe there is a separate “analyze” permission, so which tables
>> is this? Tables owned by the user? Ones where it can insert/update/delete?
>> Ones where it can select?

> Owners only - at least in previous releases. I don't recall whether the
> addition of new roles to cover subsets of administrative privileges ever
> was extended to cover vacuum/analyze but I do not think it has.

Actually, looking in the source code finds

* We allow the user to vacuum or analyze a table if he is superuser, the
* table owner, or the database owner (but in the latter case, only if
* it's not a shared relation).

It's definitely a documentation omission that this isn't spelled out in
the ANALYZE reference page (VACUUM's page does have text about it).

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alexander Korotkov 2019-08-07 21:55:55 Re: SQL/JSON path: collation for comparisons, minor typos in docs
Previous Message Thomas Munro 2019-08-07 21:49:48 Re: Unused header file inclusion