James Coleman <jtc...@gmail.com> writes: > Why is a CIC in active index-building something we need to wait for? > Wouldn't it fall under a similar kind of logic to the other snapshot > types we can explicitly ignore? CIC can't be run in a manual > transaction, so the snapshot it holds won't be used to perform > arbitrary operations (i.e., the reason why a manual ANALYZE can't be > ignored).
Expression indexes that call user-defined functions seem like a pretty serious risk factor for that argument. Those are exactly the same expressions that ANALYZE will evaluate, as a result of which we judge it unsafe to ignore. Why would CIC be different? regards, tom lane