Aidan Van Dyk wrote:
* Heikki Linnakangas <[EMAIL PROTECTED]> [070305 09:46]:
In fact, getting rid of vacuum full, or changing it to work like cluster, has been proposed in the past. The use case really is pretty narrow; cluster is a lot faster if there's a lot of unused space in the table, and if there's not, vacuum full isn't going to do much so there's not much point running it in the first place. The reason it exists is largely historical, there hasn't been a pressing reason to remove it either.

I've never used CLUSTER, because I've always heard murmerings of it not
being completely MVCC safe.  From the TODO:
    * CLUSTER
        o Make CLUSTER preserve recently-dead tuples per MVCC
          requirements

Good point, I didn't remember that. Using cluster in an environment like the OP has, cluster might actually break the consistency of concurrent transactions.

But the documents don't mention anything about cluster being unsafe.

Really? <checks docs>. Looks like you're right. Should definitely be mentioned in the docs.

AFAIK, Vacuum full doesn't suffer the same MVCC issues that cluster
does.  Is this correct?

That's right. Vacuum full goes to great lengths to be MVCC-safe.

--
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to