>>> Simon Riggs <simon@2ndQuadrant.com> wrote:
> If I was going to add anything to the btree page header, it would be
> latestRemovedLSN, only set during recovery. That way we don't have
to
> explicitly kill queries, we can do the a wait on OldestXmin then let
> them ERROR out when they find a page that has been modified.
>
> I have a suspicion that we may need some modification of that
solution
> for all data blocks, so we don't kill too many queries.
If the failure is caused by the timing of various database
transactions, and the query is likely to run successfully after a
delay and a retry, please use SQLSTATE of '40001'. Some software
(ours, for one) will recognize this and retry the query automatically,
so that the user impact is essentially the same as blocking.
-Kevin