Re: How to make lazy VACUUM of one table run in several transactions ? - Mailing list pgsql-hackers

From Tom Lane
Subject Re: How to make lazy VACUUM of one table run in several transactions ?
Date
Msg-id 13571.1114552484@sss.pgh.pa.us
Whole thread Raw
In response to Re: How to make lazy VACUUM of one table run in several  (Hannu Krosing <hannu@tm.ee>)
Responses Re: How to make lazy VACUUM of one table run in several  (Hannu Krosing <hannu@tm.ee>)
Re: How to make lazy VACUUM of one table run in several  (Hannu Krosing <hannu@skype.net>)
List pgsql-hackers
Hannu Krosing <hannu@tm.ee> writes:
> Could I avoid having a transaction at all?

Not really; too much of the database access infrastructure is tied to
transaction stuff ... even facilities as basic as memory management.

> As VACUUM is not "transactional" in the sense that it does not change
> anything visible to users ever, can't be undone by rollback, etc... ,
> could it be possible to create enough "transaction-like" environment for
> it to really run outside of transactions. Perhaps just advancing
> oldestXmin at certain intervals ?

I wonder whether you could avoid advertising the VACUUM's XID in PGPROC.
Not sure that this can work, but it would be a lot simpler than stopping
and starting transactions ...
        regards, tom lane


pgsql-hackers by date:

Previous
From: David Wheeler
Date:
Subject: Re: DO INSTEAD and conditional rules
Next
From: Tom Lane
Date:
Subject: Re: DO INSTEAD and conditional rules