Skip site navigation (1) Skip section navigation (2)

Operation needed for datfrozenxid bug?

From: ITAGAKI Takahiro <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Operation needed for datfrozenxid bug?
Date: 2008-09-29 02:31:26
Message-ID: 20080929111542.8E96.52131E4D@oss.ntt.co.jp (view raw or flat)
Thread:
Lists: pgsql-hackers
Hello,

The datfrozenxid bug is fixed in 8.3.4,
but do I need additional operations after upgrade postgres binaries?

| Fix potential miscalculation of datfrozenxid (Alvaro)
|   This error may explain some recent reports of failure
|   to remove old pg_clog data. 

I assume that pg_database.datfrozenxid is wrongly set to 3
(FirstNormalTransactionId) if the bug has occurred.

  1. Can I use the following SQL to check whether the bug has occurred?
        SELECT * FROM pg_database WHERE datfrozenxid = 3
     (will return some rows under the bug.)

  2. What is needed to fix the corrupted system catalog,
     something like the following SQL?
        UPDATE pg_database SET datfrozenxid = relfrozenxid
          FROM (SELECT relfrozenxid FROM pg_class
                 WHERE relkind IN ('r', 't')
                 ORDER BY age(relfrozenxid) DESC LIMIT 1) AS tmp
         WHERE datname = current_database();

Regards,
---
ITAGAKI Takahiro
NTT Open Source Software Center


pgsql-hackers by date

Next:From: Andrew DunstanDate: 2008-09-29 02:58:24
Subject: Re: parallel pg_restore - WIP patch
Previous:From: pgsqlDate: 2008-09-29 01:27:52
Subject: Re: Ad-hoc table type?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group