Pavan Deolasee <pavan(dot)deolasee(at)gmail(dot)com> writes:
> Or may be we simply err on the side of caution and scan the toast table
> with SnapshotAny while looking for a duplicate? That might prevent us from
> reusing an OID for a known-dead tuple, but should save us a second index
> scan and still work.
+1. We really don't want to expend two indexscans on this.
I was worried about changing the signature of GetNewOidWithIndex in
a back-patched fix, but after looking around I think that's probably
safe. External callers really shouldn't be using anything lower-level
than GetNewOid.
regards, tom lane