"Kevin Grittner" <Kevin.Grittner@wicourts.gov> writes:
> If xact A is using a snapshot from before the commit of the index
> DROP, it shouldn't see anything done after the drop anyway. If
> it's using a snapshot from after the DROP, it won't see the index.
> xact B would only fail to update the index if it was using a
> snapshot after the drop, so I'm having trouble grasping the
> sequence of events where this is a problem. Could you outline
> the series of events where the problem occurs?
You're assuming that the query plan is as new as the snapshot is.
This isn't guaranteed, at least not without the locking that you
seek to eliminate.
regards, tom lane