Re: ANALYZE being a read v write operation clarification

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: "abby(dot)e(dot)flint(at)gmail(dot)com" <abby(dot)e(dot)flint(at)gmail(dot)com>, "pgsql-docs(at)lists(dot)postgresql(dot)org" <pgsql-docs(at)lists(dot)postgresql(dot)org>
Subject: Re: ANALYZE being a read v write operation clarification
Date: 2025-09-13 22:59:32
Message-ID: CAKFQuwZwbuSoQGaTDRSg6e9YysaJWi29a5imSeUQA76n9ehTKQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-docs

On Friday, September 12, 2025, PG Doc comments form <noreply(at)postgresql(dot)org>
wrote:

> The following documentation comment has been logged on the website:
>
> Page: https://www.postgresql.org/docs/17/sql-analyze.html
> Description:
>
> In the ANALYZE docs it states,
> - "ANALYZE collects statistics about the contents of tables in the
> database,
> and stores the results in the pg_statistic system catalog"
> - "ANALYZE requires only a read lock on the target table".
>
> When trying to determien if this command could be run with
> `default_transaction_read_only` set to `on,` I was left stumped on whether
> this is a read only or read-write operation. It is unclear to me, what
> "stores" in the context of the "pg_statistic system catalog" means, and
> whether that requires a write operation. I'm potentially missing
> understanding on the workings of the `pg_statistic` system catalog, but
> figured this could be a small improvement made to clarify the docs about
> this operation.
>

Yes, it is a write operation - otherwise it would be pretty useless since
it has no output to the client.

It reads the contents of the named table, computes statistics, and then
saves/stores/writes them for future reference - the location being saved to
is a system catalog (a special kind of table).

If you want to propose a complete suggestion here it would be entertained,
but none of the terms seem problematic on their own. Though maybe some
requiring looking up if one is unfamiliar. “stores the results in the
system catalog” vs. “writes the results to the system catalog” seems like a
pure style choice. They mean the same thing. Though I’m probably biased
as a native English speaker. But I’d want some other opinions in favor of
changing it before I’d try to go improve it.

David J.

In response to

Browse pgsql-docs by date

  From Date Subject
Next Message Tom Lane 2025-09-13 23:25:08 Re: The document contains false statements
Previous Message PG Doc comments form 2025-09-13 20:32:58 The document contains false statements