The following bug has been logged online:

Bug reference:      6291
Logged by:          Daniel Farina
Email address:      dan...@heroku.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."

-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to