> One imho important (not necessarily mandatory) aspect of HOT > is, that it does parts of what vacuum would usually do. > > Thus: > 1. resume, load ctid list > 2. continue filling ctid list > 3. remove index tuples for these ctids (* problem *) > > You have just removed index entries for possibly now live > tuples that have been reused by HOT.
Sorry my error, this is no problem, since HOT can only reuse a slot that has no direct index entries (part of an old HOT chain). So with HOT it is only important, that the 1st heap scan ignores (does not add to the list) HOT chained tuples. So, I still don't feel comfortable with the idea of breaking the visibility rules (using a ctid that is days old and globalxmin not knowing), even if I do not currently see a direct problem that cannot be worked around (like removing all lists upon startup recovery). Andreas ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org