Required locks for ANALYZE - Mailing list pgsql-docs

From PG Doc comments form
Subject Required locks for ANALYZE
Date
Msg-id 156628723253.1296.7377373462603881976@wrigleys.postgresql.org
Whole thread Raw
Responses Re: Required locks for ANALYZE  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-docs
The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/9.5/sql-select.html
Description:

The below document says that the ANALYZE statement requires a read lock.
https://www.postgresql.org/docs/current/sql-analyze.html
-----
ANALYZE requires only a read lock on the target table, so it can run in
parallel with other activity on the table.
-----

But it is too vague as there is no such table level lock. In addition, the
document explains the SHARE UPDATE EXCLUSIVE table lock obtained by
ANALYZE.
https://www.postgresql.org/docs/current/explicit-locking.html
-----
SHARE UPDATE EXCLUSIVE
Conflicts with the SHARE UPDATE EXCLUSIVE, SHARE, SHARE ROW EXCLUSIVE,
EXCLUSIVE, and ACCESS EXCLUSIVE lock modes. This mode protects a table
against concurrent schema changes and VACUUM runs.

Acquired by VACUUM (without FULL), ANALYZE, CREATE INDEX CONCURRENTLY,
CREATE STATISTICS and ALTER TABLE VALIDATE and other ALTER TABLE variants
(for full details see ALTER TABLE).
-----

Therefore, in my opinion, the below paragraph should be amended as below.

* Before
-----
ANALYZE requires only a read lock on the target table, so it can run in
parallel with other activity on the table.
-----

* After
-----
ANALYZE requires only a SHARE UPDATE EXCLUSIVE lock on the target table, so
it can run in parallel with queries requiring ACCESS SHARE/ROW SHARE/ROW
EXCLUSIVE locks such as SELECT, UPDATE, DELETE, INSERT on the table.
-----

pgsql-docs by date:

Previous
From: Takuma Hoshiai
Date:
Subject: Re: wrong Visual Studio Edition 's name
Next
From: PG Doc comments form
Date:
Subject: SPI_finish in the case of ereport