Re: Is vacuum full lock like old's vacuum's lock?

From: "Gregory Wood" <gregw(at)com-stock(dot)com>
To: "PostgreSQL-General" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Is vacuum full lock like old's vacuum's lock?
Date: 2002-03-08 20:46:11
Message-ID: 000d01c1c6e2$48b6e9a0$7889ffcc@comstock.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

> > > Do sequential scans go over the entire space, including the space not
in
> > > use? It would be great if there was some kind of optimization that
could
> > > move the empty space towards the end. It would probably be an
expensive
> > > operation, but it may be very helpfull on databases with a big
turnaround.
> >
> > The only difference between doing that and doing a VACUUM FULL would be
that
> > the disk usage would remain the same.
>
> There is one other extremely important difference. VACUUM FULL locks the
> table/database.

But to move around records, you *would* have to lock the table. This could
be an incorrect assumption, but I believe that you would need to aquire an
AccessExclusiveLock to rearrange the contents of the table, and that's the
same lock aquired by VACUUM FULL.

To put it another way, when you delete (or update) the first record in a
particular table, to move that record to the end would require moving *all*
the records up by one. This would destroy the existing MVCC system. You
would essentially be VACUUM FULLing every time you did a DELETE or UPDATE.

Greg

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Jiva DeVoe 2002-03-08 21:04:38 Wanted: Postgresql Guru/Web Developer... Tempe, AZ.
Previous Message Francisco Reyes 2002-03-08 20:30:36 Re: Is vacuum full lock like old's vacuum's lock?