On 04/16/2014 01:30 PM, Alvaro Herrera wrote:
> Josh Berkus wrote:
>>
>>> You can see the current multixact value in pg_controldata output.  Keep
>>> timestamped values of that somewhere (a table?) so that you can measure
>>> consumption rate.  I don't think we provide SQL-level access to those
>>> values.
>>
>> Bleh.  Do we provide SQL-level access in 9.4?  If not, I think that's a
>> requirement before release.
> 
> Yeah, good idea.  Want to propose a patch?

Yeah, lemme dig into this.  I really think we need it for 9.4, feature
frozen or not.

>>>> Also: how do I check the multixact age of a table?  There doesn't seem
>>>> to be any data for this ...
>>>
>>> pg_class.relminmxid is the oldest multixact value that might be present
>>> in a table.
>>
>> On every database I've tested, age(relminmxid) returns int_max.  So this
>> is apparently broken.
> 
> Hmm, are you sure it's INT_MAX and not 4244967297?  Heikki reported
> that: http://www.postgresql.org/message-id/52401aea.9000...@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?

-- 
Josh Berkus
PostgreSQL Experts Inc.
http://pgexperts.com


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

Reply via email to