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