Tom Lane wrote:
>
> I have only seen this happen when the UPDATE was using an index scan to
> find the tuples to update (the table in this example has a btree index
> on oid). So, somehow the index is returning the same tuple more than
> once.
In UPDATE backend inserts index tuple for new version of heap tuple
and adjusts all index scans affected by this insertion.
Something is wrong in nbtscan.c:_bt_adjscans()...
Vadim