> > You haven't explained how saving the dead-tuple-list could be done in > > a safe mannner and it seems risky to me. > > The files are placed in a new directory $PGDATA/pg_vacuum > with the name: spcNode.dbNode.relNode for each relations > which have been interrupted during vacuum. > > It has the format likes: > > 1. VacStateFileHeader > 2. VacStateData > 3. Dead Tuple list > 4. CRC32 > > The files are removed > - when original physical heap files are removed, > - when vacuum full have been issued, > - or after the content has been read in memory. > - etc. > > Is there any potential big risk there? Correct me if I am wrong.
The main risc is not a corrupt file or broken list. The risc is, that a ctid in the list points at a tuple that is not dead anymore. To avoid that risc you would need to: 1. keep the vacuum lock open 2. leave the vacuum tx open (or reevaluate visibility of list members upon resume) Andreas ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org