Yes, there are transactions that predate the start time of the vacuum full.
However those transactions do not touch the table being vacuumed, they have
nothing to do with it. Is this the expected behavior?
Mark Steben
Senior Database Administrator
@utoRevenueT
A Dominion Enterprises Company
480 Pleasant Street
Suite B200
Lee, MA 01238
413-243-4800 Home Office
413-243-4809 Corporate Fax
msteben@autorevenue.com
Visit our new website at
www.autorevenue.com
IMPORTANT: The information contained in this e-mail message is confidential
and is intended only for the named addressee(s). If the reader of this
e-mail message is not the intended recipient (or the individual responsible
for the delivery of this e-mail message to the intended recipient), please
be advised that any re-use, dissemination, distribution or copying of this
e-mail message is prohibited. If you have received this e-mail message in
error, please reply to the sender that you have received this e-mail message
in error and then delete it. Thank you.
-----Original Message-----
From: Alvaro Herrera [mailto:alvherre@commandprompt.com]
Sent: Tuesday, March 25, 2008 9:24 PM
To: Mark Steben
Cc: pgsql-bugs@postgresql.org
Subject: Re: [BUGS] BUG #4059: Vacuum full not always cleaning empty tables
Mark Steben wrote:
> I sent an email to 'pgsql-bugs@postgresql.org' entitled
> 'Possible bug with VACUUM FULL' and also an addendum
> But neglected to also send this bug report form.
> You can refer to those emails; in a nutshell, I have found that VACUUM
FULL
> will not clean dead tuples out of an empty table when other queries are
> accessing the database. Test plans/scenarios are included.
Yes, if other sessions have open transactions whose start time predate
the start time of the transaction that deletes of tuples, those tuples
cannot be removed by VACUUM. This is known and expected. Is this
what's happening here?
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.