Dan Harris wrote:
> I have a table with 1 live row that I found has 115000 dead rows in it (
> from a testing run ). I'm trying to VACUUM FULL the table and it has
> run for over 18 hours without completion. Considering the hardware on
> this box and the fact that performance seems reasonable in all other
> aspects, I'm confused as to why this would happen. The database other
> than this table is quite large ( 70 gigs on disk ) and I would expect to
> take days to complete but I just did 'vacuum full table_stats'. That
> should only do that table, correct? I'm running 8.0.3.
VACUUM FULL requires an exclusive lock on the table that it's vacuuming.
Chances are something else has a lock on the table is blocking the
vacuum from obtaining the necessary lock. Check pg_locks for ungranted
locks, you'll probably find that the request from the vacuum is ungranted.
--
Brad Nicholson 416-673-4106
Database Administrator, Afilias Canada Corp.