postgres.git / summary / log / commit / refs

commit    753177604b33df4cb9f32dd9db6f829ae733c41f
Author:   Fujii Masao <fujii@postgresql.org>
Date:     Wed Aug 06 07:48:47 2025 +0000
First released in: 17.6, 18.0

    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


doc/src/sgml/ref/alter_table.sgml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/src/sgml/ref/alter_table.sgml b/doc/src/sgml/ref/alter_table.sgml index 896a7e7baaf..029ddb391ec 100644 --- a/doc/src/sgml/ref/alter_table.sgml +++ b/doc/src/sgml/ref/alter_table.sgml @@ -265,6 +265,12 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM in the column is rewritten and all the future changes will apply the new generation expression. </para> + + <para> + When this form is used, the column's statistics are removed, + so running <link linkend="sql-analyze"><command>ANALYZE</command></link> + on the table afterwards is recommended. + </para> </listitem> </varlistentry> [parent: 0b0d3c19bf07]