On Wed, 2009-09-16 at 20:36 -0400, Tom Lane wrote:
> Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> writes:
> > For the kicks, I looked at what it would take to write a utility like
> > that. It turns out to be quite trivial, patch attached.
>
> I don't think you've really thought this through; particularly not this:
>
> > + rel = heap_open(relid, AccessShareLock);
>
> You can NOT modify a relation with only AccessShareLock, and frankly
> I doubt you should be doing this with less than exclusive lock. Which
> would make the thing quite unpleasant to use in practice.
C'mon, we know he knows that.
But I guess we should define the locking requirement for such a utility
explicitly: ShareUpdateExclusiveLock, please.
What we need is VACUUM FULL CONCURRENTLY and REINDEX CONCURRENTLY.
-- Simon Riggs www.2ndQuadrant.com