Re: Fwd: Vacuum Full + Cluster + Vacuum full = non removable dead rows

From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: "Alexandre de Arruda Paes" <adaldeia(at)gmail(dot)com>, <pgsql-performance(at)postgresql(dot)org>
Subject: Re: Fwd: Vacuum Full + Cluster + Vacuum full = non removable dead rows
Date: 2010-08-19 13:41:38
Message-ID: 4C6CEE4202000025000348D6@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Alexandre de Arruda Paes <adaldeia(at)gmail(dot)com> wrote:
> 2010/8/18 Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>

>> There's an open transaction somewhere that VACUUM is preserving
>> the tuples for. This transaction need not ever have touched the
>> table, or ever intend to touch the table --- but VACUUM cannot
>> know that, so it saves any tuples that the transaction might be
>> entitled to see if it looked.
>>
>> > carmen=# select * from vlocks where relname='tp93t'; select *
>> > from pg_stat_activity where usename='webpa';
>>
>> You keep on showing us only subsets of pg_stat_activity :-(

> select * from pg_stat_activity where usename='webpa';

You keep on showing us only subsets of pg_stat_activity :-(

*ANY* open transaction, including "idle in transaction" including
transactions by other users in other databases will prevent vacuum
from cleaning up rows, for the reasons Tom already gave you.

What do you get from?:

select * from pg_stat_activity where current_query <> '<IDLE>'
order by xact_start limit 10;

-Kevin

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Tom Lane 2010-08-19 13:56:09 Re: Fwd: Vacuum Full + Cluster + Vacuum full = non removable dead rows
Previous Message Tom Lane 2010-08-19 13:29:39 Re: in-memory sorting