Florian G. Pflug wrote:
Couldn't HOT in principle deal with this? Let's say you have two
long-running
transactions, which see row versions A and D. While those transactions
are running, the row is constantly updated, leading to row versions B, C
(before
the second long-running transaction started), D, E, F, ... Z.
Now, the versions B,C,E,F,...Z could be removed by HOT or vacuum,
because they
are not currently visible, nor will they ever become visible because
they are
already deleted.
Yes, you could detect that but you'd need a global view of all snapshots
in the system. I just posted a reply in this thread with more details..
It's not just with HOT, it's the way we determine that a tuple is
vacuumable in general.
--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com
---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match