pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Fujii Masao <fujii@postgresql.org>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: doc: Recommend ANALYZE after ALTER TABLE ... SET EXPRESSION AS.
Date: Wed, 06 Aug 2025 07:50:09 +0000
Message-ID: <E1ujYuW-0010lM-1v@gemulon.postgresql.org> (raw)

doc: Recommend ANALYZE after ALTER TABLE ... SET EXPRESSION AS.

ALTER TABLE ... SET EXPRESSION AS removes statistics for the target column,
so running ANALYZE afterward is recommended. But this was previously not
documented, even though a similar recommendation exists for
ALTER TABLE ... SET DATA TYPE, which also clears the column's statistics.
This commit updates the documentation to include the ANALYZE recommendation
for SET EXPRESSION AS.

Since v18, virtual generated columns are supported, and these columns never
have statistics. Therefore, ANALYZE is not needed after SET DATA TYPE or
SET EXPRESSION AS when used on virtual generated columns. This commit also
updates the documentation to clarify that ANALYZE is unnecessary in such cases.

Back-patch the ANALYZE recommendation for SET EXPRESSION AS to v17
where the feature was introduced, and the note about virtual generated
columns to v18 where those columns were added.

Author: Yugo Nagata <nagata@sraoss.co.jp>
Reviewed-by: Fujii Masao <masao.fujii@gmail.com>
Discussion: https://postgr.es/m/20250804151418.0cf365bd2855d606763443fe@sraoss.co.jp
Backpatch-through: 17

Branch
------
REL_18_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/3e65e77f7666060630bae68624ec9be316a42ef0

Modified Files
--------------
doc/src/sgml/ref/alter_table.sgml | 11 +++++++++++
1 file changed, 11 insertions(+)



view thread (3+ messages)  latest in thread

Message-ID: <E1ujYuW-0010lM-1v@gemulon.postgresql.org>
Permalink:  ../E1ujYuW-0010lM-1v@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1ujYuW-0010lM-1v@gemulon.postgresql.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: fujii@postgresql.org, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: doc: Recommend ANALYZE after ALTER TABLE ... SET EXPRESSION AS.
  In-Reply-To: <E1ujYuW-0010lM-1v@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox