Re: Return of the Solaris vacuum polling problem -- anyone remember this? - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Return of the Solaris vacuum polling problem -- anyone remember this?
Date
Msg-id 201008231924.o7NJOL616202@momjian.us
Whole thread Raw
In response to Re: Return of the Solaris vacuum polling problem -- anyone remember this?  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Return of the Solaris vacuum polling problem -- anyone remember this?
List pgsql-hackers
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. +
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.

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: WIP: extensible enums
Next
From: Bruce Momjian
Date:
Subject: Re: Return of the Solaris vacuum polling problem -- anyone remember this?