Re: Should I implement DROP INDEX CONCURRENTLY?

Peter Eisentraut <peter_e@gmx.net>

From: Peter Eisentraut <peter_e@gmx.net>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Simon Riggs <simon@2ndquadrant.com>, Daniel Farina <daniel@heroku.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2012-01-17T17:06:04Z
Lists: pgsql-hackers
On mån, 2012-01-16 at 14:46 -0500, Robert Haas wrote:
> On Mon, Jan 16, 2012 at 2:06 PM, Peter Eisentraut <peter_e@gmx.net> wrote:
> > On mån, 2012-01-16 at 11:17 -0500, Robert Haas wrote:
> >> I don't see how setting indisvalid to false helps with this, because
> >> IIUC when a session sees indisvalid = false, it is supposed to avoid
> >> using the index for queries but still make new index entries when a
> >> write operation happens - but to drop an index, I think you'd need to
> >> get into a state where no one was using the index for anything at all.
> >
> > ISTM that one would need to set indisready to false instead.
> 
> Maybe we should set both to false?

Well, ready = false and valid = true doesn't make any sense.  There is
only just-created -> ready -> valid.  We might as well convert that to a
single "char" column, as you had indicated in your earlier email.  But
that's independent of the proposed patch.