Re: Fwd: Vacuum Full + Cluster + Vacuum full = non removable dead rows - Mailing list pgsql-performance

From Kevin Grittner
Subject Re: Fwd: Vacuum Full + Cluster + Vacuum full = non removable dead rows
Date
Msg-id 4C6CEE4202000025000348D6@gw.wicourts.gov
Whole thread Raw
In response to Re: Fwd: Vacuum Full + Cluster + Vacuum full = non removable dead rows  (Alexandre de Arruda Paes <adaldeia@gmail.com>)
Responses Re: Fwd: Vacuum Full + Cluster + Vacuum full = non removable dead rows  (Dimitri <dimitrik.fr@gmail.com>)
List pgsql-performance
Alexandre de Arruda Paes <adaldeia@gmail.com> wrote:
> 2010/8/18 Tom Lane <tgl@sss.pgh.pa.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

pgsql-performance by date:

Previous
From: Tom Lane
Date:
Subject: Re: in-memory sorting
Next
From: Tom Lane
Date:
Subject: Re: Fwd: Vacuum Full + Cluster + Vacuum full = non removable dead rows