Re: First steps with 8.3 and autovacuum launcher

Heikki Linnakangas <heikki@enterprisedb.com>

From: Heikki Linnakangas <heikki@enterprisedb.com>
To: Alvaro Herrera <alvherre@commandprompt.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, "Matthew T. O'Connor" <matthew@zeut.net>, Simon Riggs <simon@2ndquadrant.com>, Gregory Stark <stark@enterprisedb.com>, Stefan Kaltenbrunner <stefan@kaltenbrunner.cc>, Guillaume Smet <guillaume.smet@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2007-10-04T09:01:41Z
Lists: pgsql-hackers
Alvaro Herrera wrote:
> I came up with the following patch.  What this does is cancel any
> ANALYZE started by autovacuum, at the top of ALTER TABLE.

There's a small race condition, autoanalyze could start between the
calls autovac_cancel_analyze and relation_open.

And it doesn't solve the problem for autovacuum. Or other commands than
ALTER TABLE, like CLUSTER.

> There is a new function relation_openrv_cav().  This is the same as
> relation_openrv, except that it will also cancel analyzes.  I'm still
> wondering if I should merge the two and have a third boolean argument to
> specify whether to do the cancel.

I like it better the way you have it now.

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