Simon Riggs wrote:
> 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.
> Deferring completion of VACUUM means deferring refreshing the FSM.
I borrow the code from DSM patch to merge free space info
into FSM when vacuum stops.
> Are you saying you know for certain this lock is held for a long time,
> or are you just saying you think it is? If you have some evidence for
> long truncation times then that would be a separate issue of concern,
> since that might starve out normal users. Please say more?
Sorry. I *thought* it is. The benchmark has not shown such
kind of problem anyway. Thanks for the clarification for me. :)
Regards,
--
Galy Lee
lee.galy _at_ oss.ntt.co.jp
NTT Open Source Software Center
---------------------------(end of broadcast)---------------------------
TIP 7: You can help support the PostgreSQL project by donating at
http://www.postgresql.org/about/donate