On Thu, 2007-08-09 at 15:46 +0530, Pavan Deolasee wrote: > > > On 8/9/07, Simon Riggs <[EMAIL PROTECTED]> wrote: > > Whether I got the exact details of frugging & depruning > correct or not: > if a tuple version is removed, then VACUUM doesn't need to > remove it > later, so any non-VACUUM removal of rows must defer a VACUUM. > > > > ISTM that you are worried about the cases where a tuple is HOT updated > and hence can be pruned/defragged, but only if we revisit the page at > a later time. > > What if we just track the amount of potentially dead space in the > relation > (somebody had suggested that earlier in the thread) ? Every committed > UPDATE/DELETE and aborted UPDATE/INSERT would increment > the dead space. Whenever page fragmentation is repaired, either during > normal operation or during vacuum, the dead space is reduced by the > amount of reclaimed space. Autovacuum triggers whenever the percentage > of dead space increases beyond a threshold. > > We can some fine tuning to track the space consumed by redirect-dead > line pointers.
Sounds great. -- Simon Riggs EnterpriseDB http://www.enterprisedb.com ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq