Re: Estimation error in n_dead_tuples

From: ITAGAKI Takahiro <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Estimation error in n_dead_tuples
Date: 2007-02-02 02:47:50
Message-ID: 20070202105422.59FD.ITAGAKI.TAKAHIRO@oss.ntt.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> > I'm thinking to add "the number of vacuumed tuples" to the message from
> > vacuum. The stats collector will subtract the value from n_dead_tuples
> > instead of setting it to zero.

> This seems awfully dangerous to me, because then you are operating on
> dead reckoning forever

Ah, I see. We need 'reset' of statistics sometimes.

Now I'll propose to save the n_dead_tuples value at the beginning of
vacuum, and send the value with a stat message to subtract. The added
number to n_dead_tuples during vacuum will be left.
(This is true for now, but will be incorrect after "Recalculating
OldestXmin in a long-running vacuum" patch is commited.)

I'll send a patch that adds the above to patches.

> > This is also needed if we want to make
> > some kinds of "partial" vacuum methods.

We can adjust the number of vacuumed tuples for patial vacuums
that scan a part of heap pages. For example,
n_dead_duples_at_start * scanned_pages / rel_pages .
We can also use the actually removed tuples in vacuum for adjustments.

Regards,
---
ITAGAKI Takahiro
NTT Open Source Software Center

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Jeremy Drake 2007-02-02 03:29:35 Re: [HACKERS] writing new regexp functions
Previous Message Koichi Suzuki 2007-02-02 02:05:52 Re: [HACKERS] Full page writes improvement