Josh Berkus wrote:
> On 04/15/2014 02:25 PM, Josh Berkus wrote:
> > Hackers,
> >
> > We need documentation on how users should intelligently set the
> > multixact freeze settings. I'm happy to write the actual text, but I
> > definitely don't have any idea how to set these myself. Under what
> > circumstances should they be different from freeze_max_age? How?
Measure consumption rate of multixacts, compare to consumption rate of
xids, and set the freeze ages so that they are reached more-or-less at
the same time, so that freezing for any of them would also freeze the
other one. You need to set both table_freeze_ages to values that would
be reached later than both min_freeze_ages would be reached, if you get
what I mean. The idea is that full scan of a table would fix both
things at once, saving a followup full scan shortly after the first one.
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.
> 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.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services