On Mon, Jul 23, 2018 at 12:13 PM, Andres Freund <and...@anarazel.de> wrote: > My point is that we could just make HTSV treat them as recently dead, without > incurring the issues of the bug you referenced.
That doesn't seem sufficient. For example, it won't keep the predecessor tuple's ctid field from being overwritten by a subsequent updater -- and if that happens then the update chain is broken. Maybe your idea of cross-checking at the end of each syscache lookup would be sufficient to prevent that from happening, though. But I wonder if there are subtler problems, too -- e.g. relfrozenxid vs. actual xmins in the table, clog truncation, or whatever. There might be no problem, but the idea that an aborted transaction is of no further interest to anybody is pretty deeply ingrained in the system. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company