From: | Simon Riggs <simon(at)2ndquadrant(dot)com> |
---|---|
To: | Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> |
Cc: | "Ideriha, Takeshi" <ideriha(dot)takeshi(at)jp(dot)fujitsu(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Kuntal Ghosh <kuntalghosh(dot)2007(at)gmail(dot)com> |
Subject: | Re: GUC for cleanup indexes threshold. |
Date: | 2017-02-16 11:17:33 |
Message-ID: | CANP8+jJDdGod3Ry=ZiLHgLMtNRzH8-oaVc4vu6TzB=YAM5Nynw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 15 February 2017 at 08:07, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> wrote:
>
> It's a bug. Attached latest version patch, which passed make check.
In its current form, I'm not sure this is a good idea. Problems...
1. I'm pretty sure the world doesn't need another VACUUM parameter
I suggest that we use the existing vacuum scale factor/4 to reflect
that indexes are more sensitive to bloat.
2. The current btree vacuum code requires 2 vacuums to fully reuse
half-dead pages. So skipping an index vacuum might mean that second
index scan never happens at all, which would be bad.
I suggest that we store the number of half-dead pages in the metapage
after each VACUUM, so we can decide whether to skip the scan or not.
And we use some math like each half-dead page that needs to be reused
is worth 250 index entries, so the decision to skip is based upon rows
and empty pages, not just recently vacuumed rows.
--
Simon Riggs http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Simon Riggs | 2017-02-16 11:32:38 | Re: Partitioned tables and relfilenode |
Previous Message | Greg Stark | 2017-02-16 10:47:28 | Re: UPDATE of partition key |