Re: [GENERAL] Odd VACUUM behavior when it is expected to truncate last empty pages - Mailing list pgsql-hackers

From Pavan Deolasee
Subject Re: [GENERAL] Odd VACUUM behavior when it is expected to truncate last empty pages
Date
Msg-id CABOikdNxP+ZrhqaHwdW8nV37be+WoPkbXeHCfhHkrgir+eT1Fg@mail.gmail.com
Whole thread Raw
In response to Re: [GENERAL] Odd VACUUM behavior when it is expected to truncate last empty pages  (Pavan Deolasee <pavan.deolasee@gmail.com>)
Responses Re: [GENERAL] Odd VACUUM behavior when it is expected to truncate last empty pages
List pgsql-hackers
On Wed, Aug 3, 2011 at 12:33 PM, Pavan Deolasee
<pavan.deolasee@gmail.com> wrote:
>
>
> The only problem, other than a surprising behavior that you noted,
> that I see with this approach is that we might repeatedly try to
> truncate a relation which in fact does not have anything to truncate.
> The worst  thing is we might unnecessarily take an exclusive lock on
> the table.
>

So it seems we tried to fix this issue sometime back
http://archives.postgresql.org/pgsql-hackers/2008-12/msg01994.php

But I don't quite understand how the fix would really work.
nonempty_pages would most likely be set at a value lower than relpages
if the last page in the relation is all-visible according to the
visibility map. Did we mean to test (nonempty_pages > 0) there ? But
even that may not work except for the case when there are no dead
tuples in the relation.

Thanks,
Pavan

--
Pavan Deolasee
EnterpriseDB     http://www.enterprisedb.com


pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: mosbench revisited
Next
From: Alvaro Herrera
Date:
Subject: Re: cataloguing NOT NULL constraints