Re: Can autovac try to lock multiple tables at once? - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: Can autovac try to lock multiple tables at once?
Date
Msg-id 20070614011940.GC4647@alvh.no-ip.org
Whole thread Raw
In response to Can autovac try to lock multiple tables at once?  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Can autovac try to lock multiple tables at once?
List pgsql-hackers
Tom Lane wrote:
> $subject would be bad because of potential deadlocks against other
> transactions that might try to exclusive-lock more than one table.
>
> We should be OK for actual vacuum operations, but I think that if
> autovac chooses to just ANALYZE multiple tables, it will do it in
> one transaction and accumulate locks.  Probably the use_own_xacts
> logic in vacuum() ought to special-case IsAutoVacuumWorkerProcess.

Sure, it can do that.  I think it's easy enough to correct this problem;
see attached patch.  Should this be backpatched?  Earlier releases also
fall foul of this problem AFAICT.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

Attachment

pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: Bug in UTF8-Validation Code?
Next
From: Jim Nasby
Date:
Subject: Re: little PITR annoyance