Re: BUG #8058: CLUSTER and VACUUM FULL fail to free space - Mailing list pgsql-bugs

From Daniel Farina
Subject Re: BUG #8058: CLUSTER and VACUUM FULL fail to free space
Date
Msg-id CAAZKuFYS=wm1xFQp2uN-MEPiRXehZqsS8bqCPon5gVM8svbyzQ@mail.gmail.com
Whole thread Raw
In response to Re: BUG #8058: CLUSTER and VACUUM FULL fail to free space  (Andres Freund <andres@2ndquadrant.com>)
Responses Re: BUG #8058: CLUSTER and VACUUM FULL fail to free space  (Daniel Farina <daniel@heroku.com>)
List pgsql-bugs
On Fri, Apr 12, 2013 at 7:07 AM, Andres Freund <andres@2ndquadrant.com> wrote:
> On 2013-04-12 08:34:24 +0000, daniel@heroku.com wrote:
>> The following bug has been logged on the website:
>>
>> Bug reference:      8058
>> Logged by:          Daniel Farina
>> Email address:      daniel@heroku.com
>> PostgreSQL version: 9.0.13
>> Operating system:   Ubuntu 10.04
>> Description:
>>
>> We have a somewhat high-churn table acting as a queue, and over time it's
>> grown to be something like a gigabyte.  I surmised it might be vanilla
>> bloat, but the truth seems somewhat more exotic because both VACUUM FULL and
>> CLUSTER generated absolutely no new free space.
>>
>> In the end, ALTER TABLE and CREATE TABLE ... (LIKE) ran nearly instantly and
>> got the table size down to a few hundred K from 900M.
>>
>> This caused quite a few problems because would normally be cheap index scan
>> over a mere 100 tuples were taking a few seconds.
>>
>> There are TOASTed fields on this table, ranging in a few hundred bytes of
>> text per attribute.
>>
>> We have retained the old bloated table so we can poke at it.
>
> Could it be that you have old transactions around? That would explain
> the issue since CLUSTER et al. will preserve rows that are still visible
> to some existing transaction while CREATE TABLE ... LIKE won't.
>
> Typical suspects would be longrunning (idle in) transactions or prepared
> transactions.

You are right, except it's once-removed: at some point we've turned on
hot standby feedback to try to assuage some complaints about follower
lag knowing that this general class of symptom was possible, and this
is almost certainly the cause.  Clearly, I didn't remember that or
think to check this time.

Sorry about the mis-report.

pgsql-bugs by date:

Previous
From: Andres Freund
Date:
Subject: Re: BUG #8059: sequence crash recovery is not working properly
Next
From: Daniel Farina
Date:
Subject: Re: BUG #8058: CLUSTER and VACUUM FULL fail to free space