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

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Alexandre de Arruda Paes <adaldeia(at)gmail(dot)com>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Fwd: Vacuum Full + Cluster + Vacuum full = non removable dead rows
Date: 2010-08-18 13:22:02
Message-ID: 14512.1282137722@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Alexandre de Arruda Paes <adaldeia(at)gmail(dot)com> writes:
> I know the problem with VACUUM FULL and bloated Indexes, but I don't
> understand why the table that is not in use by nobody, cant be vacuumed or
> clustered to avoid dead tuples.

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 :-(

Also, if you don't see anything in pg_stat_activity, try pg_prepared_xacts.

regards, tom lane

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Clemens Eisserer 2010-08-18 13:51:22 Are Indices automatically generated for primary keys?
Previous Message Alexandre de Arruda Paes 2010-08-18 13:07:17 Fwd: Vacuum Full + Cluster + Vacuum full = non removable dead rows