Improve pg_autovacuum documentation to clarify that the enabled field cannot
authorTom Lane
Thu, 31 Jan 2008 18:40:02 +0000 (18:40 +0000)
committerTom Lane
Thu, 31 Jan 2008 18:40:02 +0000 (18:40 +0000)
prevent anti-wraparound vacuuming, and to caution against setting unreasonably
small values of freeze_max_age.  Also put in a notice that this catalog is
likely to disappear entirely in some future release.  Per discussion of
bug #3898 from Steven Flatt.

doc/src/sgml/catalogs.sgml

index 29dd25f1cb4a978bb04bf351a3eb0bef7b283679..de045d7057d2135b22a7c91f695943c33366e454 100644 (file)
@@ -1,4 +1,4 @@
-
+
 
    about the autovacuum daemon, see .
   
 
+  
+   
+    It is likely that pg_autovacuum will disappear
+    in a future release, with the information instead being kept in
+    pg_class.reloptions entries.
+   
+  
+
   
    <structname>pg_autovacuum</> Columns
 
       enabled
       bool
       
-      If false, this table is never autovacuumed
+      If false, this table will not be autovacuumed, except
+       to prevent transaction ID wraparound
      
 
      
    to prevent transaction ID wraparound if the table's
    pg_class.relfrozenxid field attains an age
    of more than freeze_max_age transactions, whether the table
-   has been changed or not.  The system will launch autovacuum to perform
+   has been changed or not, even if
+   pg_autovacuum.enabled is set to
+   false for it.  The system will launch autovacuum to perform
    such VACUUMs even if autovacuum is otherwise disabled.
    See  for more about wraparound
    prevention.
    be used for this particular value.  Observe that the
    vac_cost_delay variable inherits its default value from the
     configuration parameter,
-   or from  if the former is set to a negative
-   value.  The same applies to vac_cost_limit.
+   or from  if the former is set to a
+   negative value.  The same applies to vac_cost_limit.
    Also, autovacuum will ignore attempts to set a per-table
-   freeze_max_age larger than the system-wide setting (it can only be set
-   smaller), and the freeze_min_age value will be limited to half the
-   system-wide  setting.
+   freeze_max_age larger than the system-wide setting (it can
+   only be set smaller), and the freeze_min_age value will be
+   limited to half the system-wide 
+   linkend="guc-autovacuum-freeze-max-age"> setting.  Note that while you
+   can set freeze_max_age very small, or even zero, this
+   is usually unwise since it will force frequent vacuuming.