From 2ff209953e0a7b4ce9df1c1ba15783345ef5659f Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Wed, 22 Dec 2021 16:29:16 -0500 Subject: [PATCH] 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 --- doc/src/sgml/indices.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/indices.sgml b/doc/src/sgml/indices.sgml index 56fbd45178..023157d888 100644 --- a/doc/src/sgml/indices.sgml +++ b/doc/src/sgml/indices.sgml @@ -748,8 +748,8 @@ CREATE INDEX people_names ON people ((first_name || ' ' || last_name)); Index expressions are relatively expensive to maintain, because the - derived expression(s) must be computed for each row upon insertion - and whenever it is updated. However, the index expressions are + derived expression(s) must be computed for each row insertion + and non-HOT update. However, the index expressions are not recomputed during an indexed search, since they are already stored in the index. In both examples above, the system sees the query as just WHERE indexedcolumn = 'constant'