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.
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