From: | "Daniel Farina" <daniel(at)heroku(dot)com> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | BUG #6291: Xid epoch is not updated properly |
Date: | 2011-11-13 22:15:42 |
Message-ID: | 201111132215.pADMFgvH080387@wwwmaster.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
The following bug has been logged online:
Bug reference: 6291
Logged by: Daniel Farina
Email address: daniel(at)heroku(dot)com
PostgreSQL version: 9.0.5
Operating system: Ubuntu 10.04
Description: Xid epoch is not updated properly
Details:
We have on hand a database that makes heavy use of the txid_snapshot family
of functions, and recently it just passed its 4^32 transaction mark.
Unfortunately, upon wraparound the xid epoch appears to not have been
incremented, remaining at 0. However, pg_controldata does properly report a
> 4^32 number, and so far it appears the database otherwise functions
normally. Here's a snippet:
Latest checkpoint's NextXID: 0/2131670
Latest checkpoint's NextOID: 1416740
Latest checkpoint's NextMultiXactId: 1119
Latest checkpoint's NextMultiOffset: 3115
Latest checkpoint's oldestXID: 4131117606
Latest checkpoint's oldestXID's DB: 16385
Latest checkpoint's oldestActiveXID: 0
The result is the following documentation at
"http://www.postgresql.org/docs/9.0/static/functions-info.html" is
dangerously misleading:
"The internal transaction ID type (xid) is 32 bits wide and wraps around
every 4 billion transactions. However, these functions export a 64-bit
format that is extended with an "epoch" counter so it will not wrap around
during the life of an installation. The data type used by these functions,
txid_snapshot, stores information about transaction ID visibility at a
particular moment in time. Its components are described in Table 9-53."
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2011-11-13 23:27:11 | Re: BUG #6291: Xid epoch is not updated properly |
Previous Message | alextc | 2011-11-12 13:10:55 | Re: BUG #4335: Error w/ PostgreSQL & EnterpriseDB Stack Builder |