On Wed, Apr 16, 2014 at 4:39 PM, Josh Berkus <josh@agliodbs.com> wrote:
>> Hmm, are you sure it's INT_MAX and not 4244967297? Heikki reported
>> that: http://www.postgresql.org/message-id/52401AEA.9000608@vmware.com
>> The absolute value is not important; I think that's mostly harmless. I
>> don't think applying age() to a multixact value is meaningful, though;
>> that's only good for Xids.
>
> Yeah, I'm sure:
>
> josh=# select relname, age(relminmxid) from pg_class;
> relname | age
> -----------------------------------------+------------
> pg_statistic | 2147483647
> pg_type | 2147483647
> random | 2147483647
> dblink_pkey_results | 2147483647
> pg_toast_17395 | 2147483647
>
> ...
>
> So if age() doesn't mean anything, then how are users to know when the
> need to freeze?
Or, in other words, this is another example of xid-freezing
infrastructure that needed to be copied for mxid-freezing and wasn't.
We need an analogue of age() for mxids. Perhaps just mxid_age()?
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company