Re: Allow single table VACUUM in transaction block - Mailing list pgsql-hackers

From Greg Stark
Subject Re: Allow single table VACUUM in transaction block
Date
Msg-id CAM-w4HPuL88BZYqFwfh=EjoOqrO2dLSSX8OjmyhFJB9a9NgKZA@mail.gmail.com
Whole thread Raw
In response to Re: Allow single table VACUUM in transaction block  (Simon Riggs <simon.riggs@enterprisedb.com>)
Responses Re: Allow single table VACUUM in transaction block
Re: Allow single table VACUUM in transaction block
Re: Allow single table VACUUM in transaction block
List pgsql-hackers
I think the idea of being able to request an autovacuum worker for a
specific table is actually very good. I think it's what most users
actually want when they are running vacuum. In fact in previous jobs
people have built infrastructure that basically duplicates autovacuum
just so they could do this.

However I'm not a fan of commands that sometimes do one thing and
sometimes magically do something very different. I don't like the idea
that the same vacuum command would sometimes run in-process and
sometimes do this out of process request. And the rules for when it
does which are fairly complex to explain -- it runs in process unless
you're in a transaction when it runs out of process unless it's a
temporary table ...

I think this requesting autovacuum worker should be a distinct
command. Or at least an explicit option to vacuum.

Also, I was confused reading the thread above about mention of VACUUM
FULL. I don't understand why it's relevant at all. We certainly can't
force VACUUM FULL when it wasn't requested on potentially large
tables.



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Making Vars outer-join aware
Next
From: Peter Geoghegan
Date:
Subject: Re: Standardizing how pg_waldump presents recovery conflict XID cutoffs