Re: Database file copy

Bruce Momjian <bruce@momjian.us>

From: Bruce Momjian <bruce@momjian.us>
To: Alvaro Herrera <alvherre@commandprompt.com>
Cc: Srini Raghavan <sixersrini@yahoo.com>, Robert Haas <robertmhaas@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2011-01-14T14:13:46Z
Lists: pgsql-hackers
Alvaro Herrera wrote:
> Excerpts from Bruce Momjian's message of jue ene 13 00:05:53 -0300 2011:
> > Srini Raghavan wrote:
> > > Thank you very much for reviewing, appreciate the feedback.? As pointed out by 
> > > you, it is always best to test it out with the latest version, so, I tested the 
> > > same approach with postgres 9.0.2 on windows just now, and it works! 
> > > 
> > > 
> > > I forgot to mention earlier that in addition to setting vacuum_freeze_table_age 
> > > to 0, vacuum_freeze_min_age must also be set to 0 to reset xmin with the 
> > > FrozenXid. 
> > 
> > I wonder if you should be using VACUUM FREEZE instead of having to set
> > variables.      
> 
> The documentation says you shouldn't:
> 
> 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.
> 	http://www.postgresql.org/docs/9.0/static/sql-vacuum.html

I didn't know that.  I added the -z(freeze) option to vacuumdb in 8.4
for use by pg_upgrade.

I think the original idea was that people should never need to freeze
anything, but it turns out pg_upgrade and this user need it so maybe
depricating is not a good idea.  I guess pg_upgrade could call vacuumdb
with a PGOPTIONS flag to force a vacuum_freeze_min_age value.

-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

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