From: Bruce Momjian <bruce@momjian.us>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Alvaro Herrera <alvherre@commandprompt.com>
Cc: Josh Berkus <josh@agliodbs.com>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Subject: Re: Return of the Solaris vacuum polling problem -- anyone remember this?
Date: Mon, 23 Aug 2010 15:24:21 -0400 (EDT)
Message-ID: <201008231924.o7NJOL616202@momjian.us> (raw)
In-Reply-To: <10189.1282590934@sss.pgh.pa.us>
Tom Lane wrote:
> Bruce Momjian <bruce@momjian.us> writes:
> > OK, I have attached a proposed patch to improve this. I moved the
> > pg_clog mention to a new paragraph and linked it to the reason the
> > default is relatively low.
>
> The references to "vacuum freeze" are incorrect; autovacuum does NOT
> do the equivalent of VACUUM FREEZE. Please stop playing around with
> the perfectly good existing wording.
Uh, so VACUUM FREEZE unconditionally freezes all rows, while vacuum just
freezes rows who's xid is older than vacuum_freeze_min_age? I saw that
in our current docs in reference to VACUUM FREEZE:
Selects aggressive "freezing" of tuples. Specifying FREEZE is
equivalent to performing VACUUM with the vacuum_freeze_min_age
parameter set to zero. The FREEZE option is deprecated and
will be removed in a future release; set the parameter instead.
Updated patch attached.
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ It's impossible for everything to be true. +
Attachments:/pgpatches/autovac (text/x-diff, 1.9K) download
Index: doc/src/sgml/config.sgml
===================================================================
RCS file: /cvsroot/pgsql/doc/src/sgml/config.sgml,v
retrieving revision 1.307
diff -c -c -r1.307 config.sgml
*** doc/src/sgml/config.sgml 23 Aug 2010 02:43:25 -0000 1.307
--- doc/src/sgml/config.sgml 23 Aug 2010 18:55:02 -0000
***************
*** 4150,4161 ****
<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.
! The default is 200 million transactions.
This parameter can only be set at server start, but the setting
can be reduced for individual tables by
changing storage parameters.
--- 4150,4165 ----
<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.
! </para>
!
! <para>
! Vacuum also allows removal of old files from the
! <filename>pg_clog</> subdirectory, which is why the default
! is a relatively low 200 million transactions.
This parameter can only be set at server start, but the setting
can be reduced for individual tables by
changing storage parameters.
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, tgl@sss.pgh.pa.us, alvherre@commandprompt.com, josh@agliodbs.com
Subject: Re: Return of the Solaris vacuum polling problem -- anyone remember this?
In-Reply-To: <201008231924.o7NJOL616202@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