Kuntal Ghosh <kuntalghosh.2007@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