From 55af2a43372f0fe9da312b8db35874a18a226143 Mon Sep 17 00:00:00 2001 From: Bruce Momjian <bruce@momjian.us> Date: Fri, 2 Sep 2005 00:49:57 +0000 Subject: [PATCH] Duplicate: < * Maintain a map of recently-expired rows < < This allows vacuum to target specific pages for possible free space < without requiring a sequential scan. < Update entry: > One complexity is that index entries still have to be vacuumed, and > doing this without an index scan (by using the heap values to find the > index entry) might be slow and unreliable, especially for user-defined > index functions. --- doc/TODO | 11 +++++------ doc/src/FAQ/TODO.html | 10 +++++----- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/doc/TODO b/doc/TODO index ab145472bda..7c88a4afe33 100644 --- a/doc/TODO +++ b/doc/TODO @@ -2,7 +2,7 @@ PostgreSQL TODO List ==================== Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us) -Last updated: Tue Aug 30 19:25:23 EDT 2005 +Last updated: Thu Sep 1 20:49:44 EDT 2005 The most recent version of this document can be viewed at http://www.postgresql.org/docs/faqs.TODO.html. @@ -810,11 +810,6 @@ Vacuum write lock. However, the read lock promotion to write lock could lead to deadlock situations. -* Maintain a map of recently-expired rows - - This allows vacuum to target specific pages for possible free space - without requiring a sequential scan. - * Auto-fill the free space map by scanning the buffer cache or by checking pages written by the background writer * Create a bitmap of pages that need vacuuming @@ -823,6 +818,10 @@ Vacuum writer or some other process record pages that have expired rows, then VACUUM can look at just those pages rather than the entire table. In the event of a system crash, the bitmap would probably be invalidated. + One complexity is that index entries still have to be vacuumed, and + doing this without an index scan (by using the heap values to find the + index entry) might be slow and unreliable, especially for user-defined + index functions. * %Add system view to show free space map contents diff --git a/doc/src/FAQ/TODO.html b/doc/src/FAQ/TODO.html index 734597a9648..f24c9a5605f 100644 --- a/doc/src/FAQ/TODO.html +++ b/doc/src/FAQ/TODO.html @@ -8,7 +8,7 @@ <body bgcolor="#FFFFFF" text="#000000" link="#FF0000" vlink="#A00000" alink="#0000FF"> <h1><a name="section_1">PostgreSQL TODO List</a></h1> <p>Current maintainer: Bruce Momjian (<a href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>)<br/> -Last updated: Tue Aug 30 19:25:23 EDT 2005 +Last updated: Thu Sep 1 20:49:44 EDT 2005 </p> <p>The most recent version of this document can be viewed at<br/> <a href="http://www.postgresql.org/docs/faqs.TODO.html">http://www.postgresql.org/docs/faqs.TODO.html</a>. @@ -730,10 +730,6 @@ first. <p> Moved tuples are invisible to other backends so they don't require a write lock. However, the read lock promotion to write lock could lead to deadlock situations. -</p> - </li><li>Maintain a map of recently-expired rows -<p> This allows vacuum to target specific pages for possible free space - without requiring a sequential scan. </p> </li><li>Auto-fill the free space map by scanning the buffer cache or by checking pages written by the background writer @@ -742,6 +738,10 @@ first. writer or some other process record pages that have expired rows, then VACUUM can look at just those pages rather than the entire table. In the event of a system crash, the bitmap would probably be invalidated. + One complexity is that index entries still have to be vacuumed, and + doing this without an index scan (by using the heap values to find the + index entry) might be slow and unreliable, especially for user-defined + index functions. </p> </li><li>%Add system view to show free space map contents </li><li>Auto-vacuum -- GitLab