Re: Problem with pg_upgrade? - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Problem with pg_upgrade?
Date
Msg-id 201103302135.p2ULZo921809@momjian.us
Whole thread Raw
In response to Re: Problem with pg_upgrade?  (Bruce Momjian <bruce@momjian.us>)
Responses Re: Problem with pg_upgrade?
List pgsql-hackers
Bruce Momjian wrote:
> First, I am not sure it is a problem, but based on the IRC reports I
> felt I should ask here for confirmation.  Here is a sample pg_dump
> output:
> 
>     CREATE TABLE sample (
>         x integer
>     );
>     
>     -- For binary upgrade, set relfrozenxid.
>     UPDATE pg_catalog.pg_class
>     SET relfrozenxid = '703'
>     WHERE oid = 'sample'::pg_catalog.regclass;
> 
> So, we set the cluster xid while we do this schema-only restore.  I
> belive it might be possible for autovacuum to run while the schema is
> restored, see an empty table, and set the relfrozenxid to be the current
> xid, when in fact we are about to put a heap file in place of the
> current empty file.  I thought the autovacuum_freeze_max_age=2000000000
> would prevent this but now I am not sure.  I assumed that since the gap
> between the restored relfrozenxid and the current counter would
> certainly be < 2000000000 that autovacuum would not touch it.  It is
> possible these users had drastically modified autovacuum_freeze_max_age
> to cause 3-billion gaps --- again, I have no direct contact with the
> reporters, but I figured being paranoid is a good thing where pg_upgrade
> is involved.
> 
> I wonder if the fact that these people never reported the bug means
> there were doing something odd with their servers.

I just updated the C comment about what we are doing:
    * Using autovacuum=off disables cleanup vacuum and analyze, but    * freeze vacuums can still happen, so we set
*autovacuum_freeze_max_age very high.  We assume all datfrozenxid and    * relfrozen values are less than a gap of
2000000000from the current    * xid counter, so autovacuum will not touch them.
 

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + It's impossible for everything to be true. +


pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: pg_upgrade and PGCLIENTENCODING
Next
From: Bruce Momjian
Date:
Subject: Re: pg_upgrade and PGCLIENTENCODING