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