Re: 11.7. Indexes on Expressions

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: clowder(at)hey(dot)com, pgsql-docs(at)lists(dot)postgresql(dot)org
Subject: Re: 11.7. Indexes on Expressions
Date: 2021-12-16 20:52:32
Message-ID: 20211216205232.GA30462@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs

On Thu, Dec 16, 2021 at 04:57:37PM +0000, PG Doc comments form wrote:
> The following documentation comment has been logged on the website:
>
> Page: https://www.postgresql.org/docs/14/indexes-expressional.html
> Description:
>
> Regarding the paragraph (_emphasis_ added):
>
> > 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_.
>
> Does the "it" in the above refer to the entire row or just the columns used

So, here 'it' refers the "row" being updated. I am attaching a doc
patch which clarifies this.

> in the expression? Does updating any column of a row trigger an update to
> all indexes with expressions?

Well, that depends. If _no_ columns involved in any indexes are
changed, and the row is placed in the same page as the previous row (a
HOT update), then the indexes do not need to be updated. If any indexed
column changes, including those involved in expression indexes, or the
updated row isn't placed in the same page as the previous row, all new
index entries will need to be created. We don't really have the concept
of updating some indexes and not others --- we either update them all,
or update none of them --- this is because Postgres uses an MVCC system
of versioning.

--
Bruce Momjian <bruce(at)momjian(dot)us> https://momjian.us
EDB https://enterprisedb.com

If only the physical world exists, free will is an illusion.

Attachment Content-Type Size
expression.diff text/x-diff 833 bytes

In response to

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message Chris Lowder 2021-12-17 09:41:32 Re: 11.7. Indexes on Expressions
Previous Message PG Doc comments form 2021-12-16 16:57:37 11.7. Indexes on Expressions