Vacuum as "easily obtained" locks - Mailing list pgsql-general

From Michael Graham
Subject Vacuum as "easily obtained" locks
Date
Msg-id 1312364844.24461.48.camel@brutus
Whole thread Raw
Responses Re: Vacuum as "easily obtained" locks
Re: Vacuum as "easily obtained" locks
List pgsql-general
Hi all,

I have an application that is reading from a queue table, as part of my
testing I stressed the table to check performance, but after the test
was completed I have the a very large empty table:

SELECT relname, pg_size_pretty(pg_relation_size(oid)) AS size,
reltuples::bigint FROM pg_class;

          relname           |   size   | reltuples
----------------------------+----------+-----------
 logdata5queue              | 142 GB   |         0

From reading the documentation I see that postgres would return this
space to that system after a normal vacuum if "one or more pages at the
end of a table become entirely free and an exclusive table lock can be
easily obtained".

What does "easily obtained" mean in this context?  Would my applications
constant polling of the queue mean that the lock could not be easily
obtained?

Cheers,
--
Michael Graham <mgraham@bloxx.com>



pgsql-general by date:

Previous
From: "Albe Laurenz"
Date:
Subject: Re: pg_largeobject vs pg_toast_XXXX
Next
From: Sergey Konoplev
Date:
Subject: Odd VACUUM behavior when it is expected to truncate last empty pages