Re: Question about (lazy) vacuum - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: Question about (lazy) vacuum
Date
Msg-id 20060823133312.GG1963@alvh.no-ip.org
Whole thread Raw
In response to Question about (lazy) vacuum  (Gregory Stark <gsstark@mit.edu>)
List pgsql-hackers
Gregory Stark wrote:
> 
> With all this code to handle ignoring vacuum transactions in calculating the
> global xmin it just occurred to me to wonder: Does lazy vacuum need a
> transaction at all? It doesn't do the tuple moving tricks with xvac that
> vacuum full does so does lazy vacuum's xid ever make it into tables? Couldn't
> it just use GetTopTransactionId instead of its own xid? Would this cause any
> problems?

Two points:

1. it needs to get locks

2. GetTopTransactionId returns "its own Xid" anyway ...


The point of getting locks is that it needs the lock manager to be able
to release the lock if the transaction rolls back.  (The lock object
itself does not hold anything about the transaction itself AFAIR.)

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [PATCHES] COPY view
Next
From: "D'Arcy J.M. Cain"
Date:
Subject: Re: Replication