On 2012-11-27 14:08:13 -0500, Tom Lane wrote: > BTW, I was thinking that the DROP INDEX CONCURRENTLY logic needed to be: > > 1. Unset indisvalid, commit, wait out all reading transactions. > > 2. Unset indisready, commit, wait out all writing transactions. > > 3. Unset indislive, commit (with parent table relcache flush), > wait out all reading-or-writing transactions. > > 4. Drop the index. > > However, I wonder whether we couldn't combine steps 2 and 3, ie once > there are no readers of the index go directly to the "dead" state. > I don't see a need for a period where the index isn't being inserted > into but is still used for HOT-safety decisions.
I think you're right, that state isn't interesting for anyone. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers