Since DELETE does not physically removes the data and just marks it for further cleaning, i wonder, can the 'dead' status in a tuple version inside the file page ever be changed for 'redirect' or 'unused'? Will it happen after insertion of a new tuple version? As far as i'm concerned, 'redirect' status is assigned to a tuple after in-page cleaning for maintainig HOT-updated chains of pointers, so basically, can a dead tuple be not dead again?
Is there a way to "revive" a dead tuple in postgres?
73 views Asked by Paincake- At
1
According to your comment, you are talking about the
lp_flagsin an item pointer, defined insrc/include/storage/itemid.hasLP_UNUSED,LP_NORMAL,LP_REDIRECTandLP_DEAD.A line pointer that is marked
LP_DEADhas to be reclaimed (set toLP_UNUSED) byVACUUM, then it is no longer referenced by any index and can be reused.