Josh Berkus wrote:
> 
> > On further reflection, though: since we put in the BufferAccessStrategy
> > code, which was in 8.3, the background writer isn't *supposed* to be
> > very much involved in writing pages that are dirtied by VACUUM.  VACUUM
> > runs in a small ring of buffers and is supposed to have to clean its own
> > dirt most of the time.  So it's wrong to blame this on the bgwriter not
> > holding up its end.  Rather, what you need to be thinking about is how
> > come vacuum seems to be making lots of pages dirty on only one of these
> > machines.
> 
> This is an anti-wraparound vacuum, so it could have something to do with
> the hint bits.  Maybe it's setting the freeze bit on every page, and
> writing them one page at a time?  Still don't understand the call to
> pollsys, even so, though.

We often mention that we do vacuum freeze for anti-wraparound vacuum,
but not for pg_clog file removal, which is the primary trigger for
autovacuum vacuum freezing.  I have added the attached documentation
patch for autovacuum_freeze_max_age;  back-patched to 9.0.

-- 
  Bruce Momjian  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +
Index: doc/src/sgml/config.sgml
===================================================================
RCS file: /cvsroot/pgsql/doc/src/sgml/config.sgml,v
retrieving revision 1.304
diff -c -c -r1.304 config.sgml
*** doc/src/sgml/config.sgml	17 Aug 2010 04:37:20 -0000	1.304
--- doc/src/sgml/config.sgml	22 Aug 2010 02:30:39 -0000
***************
*** 4150,4156 ****
         <para>
          Specifies the maximum age (in transactions) that a table's
          <structname>pg_class</>.<structfield>relfrozenxid</> field can
!         attain before a <command>VACUUM</> operation is forced to prevent
          transaction ID wraparound within the table.  Note that the system
          will launch autovacuum processes to prevent wraparound even when
          autovacuum is otherwise disabled.
--- 4150,4157 ----
         <para>
          Specifies the maximum age (in transactions) that a table's
          <structname>pg_class</>.<structfield>relfrozenxid</> field can
!         attain before a <command>VACUUM</> operation is forced to allow removal
!         of old files from the <filename>pg_clog</> subdirectory and prevent
          transaction ID wraparound within the table.  Note that the system
          will launch autovacuum processes to prevent wraparound even when
          autovacuum is otherwise disabled.
-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to