From: | Tom Dearman <tom(dot)dearman(at)gmail(dot)com> |
---|---|
To: | Michael Lewis <mlewis(at)entrata(dot)com> |
Cc: | Peter Geoghegan <pg(at)bowt(dot)ie>, pgsql-general General <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Frequetly updated partial index leads to bloat on index for Postresql 11 |
Date: | 2021-07-16 14:58:01 |
Message-ID: | F84B8181-F681-407C-ABFF-894791C19B7C@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
We have change autovacuum so that it runs more frequently autovacuum_vacuum_scale_factor=0.035, the reason we have a partial index on the status is that in a table of 300 million entries, only about 100 or so would have status=‘IN_PROGRESS’ so we think this should be a nice small index and many of our queries want to look up with a where clause status=‘IN_PROGRESS’. In theory it works well, but we get a lot of index bloat as there is a lot of churn on the status value, ie each row starts as IN_PROGRESS and then goes to one of 4 possible completed statuses.
> On 16 Jul 2021, at 15:49, Michael Lewis <mlewis(at)entrata(dot)com> wrote:
>
> Have you tried setting autovacuum to run quite aggressively, perhaps just on this table? Have you tried an index on the status column only, rather than partial?
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2021-07-16 15:43:35 | Re: Frequetly updated partial index leads to bloat on index for Postresql 11 |
Previous Message | Michael Lewis | 2021-07-16 14:49:27 | Re: Frequetly updated partial index leads to bloat on index for Postresql 11 |