pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Bruce Momjian <bruce@momjian.us>
To: Josh Berkus <josh@agliodbs.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Subject: Re: Return of the Solaris vacuum polling problem -- anyone remember this?
Date: Sat, 21 Aug 2010 22:40:12 -0400 (EDT)
Message-ID: <201008220240.o7M2eC728013@momjian.us> (raw)
In-Reply-To: <4C6C2E4A.1010506@agliodbs.com>

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  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +

Attachments:

/rtmp/diff (text/x-diff, 1.3K) download 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.

view thread (31+ messages)  latest in thread

Message-ID: <201008220240.o7M2eC728013@momjian.us>
Permalink:  ../201008220240.o7M2eC728013@momjian.us/
Also on:    postgresql.org/message-id/201008220240.o7M2eC728013@momjian.us

 ·  · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: bruce@momjian.us, josh@agliodbs.com, tgl@sss.pgh.pa.us
  Subject: Re: Return of the Solaris vacuum polling problem -- anyone remember this?
  In-Reply-To: <201008220240.o7M2eC728013@momjian.us>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox