Re: Question about behavior of conditional indexes

From: Gavin Flower <GavinFlower(at)archidevsys(dot)co(dot)nz>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Question about behavior of conditional indexes
Date: 2021-09-21 11:14:32
Message-ID: a40fa39e-2edd-a9e3-ebee-f9a555f6eb89@archidevsys.co.nz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 21/09/21 22:28, Koen De Groote wrote:
> Greetings all,
>
> Working on postgres 11.
>
> I'm researching an index growing in size and never shrinking, and not
> being used anymore after a while.
>
> The index looks like this:
>
> |"index002" btree (action_performed, should_still_perform_action,
> action_performed_at DESC) WHERE should_still_perform_action = false
> AND action_performed = true |
> So, there are 2 boolean fields, and a conditional clause for both. The
> table has about 50M rows, the index barely ever goes over 100K matched
> rows.
>
> The idea is to search for rows matching these conditions quickly, and
> then update them. This happens daily.
>
> This means the condition no longer match the index. At this point,
> does the row get removed from the index? Or does it stay in there as a
> dead row?
>
> I'm noticing index bloat on this index and am wondering if all these
> updated rows just stay in the index?
>
> The index currently sits at 330MB. If I drop and re-create it, it's 1.5MB.
>
> A cronjob runs a vacuum once per day, I can see the amount of dead
> rows dropping in monitoring software.
>
> But should this also take care of indexes? In postgres 11, you can't
> reindex concurrently, so I was wondering if indexes are skipped by
> vacuum? Or only in case of conditional indexes?
>
>
>
> So I'm wondering if the behavior is as I described.
>
> Regards,
> Koen De Groote

Can you upgrade to pg13?  A lot of work was done on indexes in pg12 &
13.  So possibly your problem may have been resolved, at least in part.

Note that pg 14 is due out this month.

Cheers,
Gavin

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Ninad Shah 2021-09-21 14:35:02 Re: Question about behavior of conditional indexes
Previous Message Koen De Groote 2021-09-21 10:28:48 Question about behavior of conditional indexes