doc: clarify when expression indexes evaluate their expressions

Only non-HOT updates evaluate the index expression.

Reported-by: Chris Lowder

Discussion: https://postgr.es/m/163967385701.26064.15365003480975321072@wrigleys.postgresql.org

Backpatch-through: 10
This commit is contained in:
Bruce Momjian 2021-12-22 16:29:16 -05:00
parent 4965f75484
commit e2e1bbde46

View File

@ -748,8 +748,8 @@ CREATE INDEX people_names ON people ((first_name || ' ' || last_name));
<para> <para>
Index expressions are relatively expensive to maintain, because the Index expressions are relatively expensive to maintain, because the
derived expression(s) must be computed for each row upon insertion derived expression(s) must be computed for each row insertion
and whenever it is updated. However, the index expressions are and non-HOT update. However, the index expressions are
<emphasis>not</emphasis> recomputed during an indexed search, since they are <emphasis>not</emphasis> recomputed during an indexed search, since they are
already stored in the index. In both examples above, the system already stored in the index. In both examples above, the system
sees the query as just <literal>WHERE indexedcolumn = 'constant'</literal> sees the query as just <literal>WHERE indexedcolumn = 'constant'</literal>