Kuntal Ghosh <kuntalghosh.2...@gmail.com> writes: >> 2. If we only support "Read Committed" isolation level, is there a safe >> way to not index such data?
> I can't think of a case where the RECENTLY_DELETED tuple needs to be > indexed in "Read Committed" case. I think you're making dangerously optimistic assumptions about how long a query snapshot might survive in READ COMMITTED mode. In particular, I suspect you're reasoning that the new index couldn't be used except by a freshly-created query plan, which is possibly true, and that such a plan must be used with a freshly-created snapshot, which is simply wrong. A counterexample could be built using a SQL or PL function that's marked STABLE, because such a function is defined to be executed using the calling query's snapshot. But it'll make query plans using current reality. regards, tom lane