Thread: Re: [COMMITTERS] pgsql: Lower *_freeze_max_age minimum values.

Re: [COMMITTERS] pgsql: Lower *_freeze_max_age minimum values.

From
Alvaro Herrera
Date:
Cc'ing -hackers.

Andres Freund wrote:
> On 2015-09-24 10:37:33 -0400, Tom Lane wrote:
> > Andres Freund <andres@anarazel.de> writes:

> > Should this patch not have also touched the per-table limits in
> > reloptions.c?
> 
> Hm. I guess that'd make sense. It's not really related to the goal of
> making it realistic to test multixact/clog truncation, but it's less
> confusing if consistent.

Yeah, agreed.

> > and I found places in create_table.sgml that claim these variables can be
> > set to zero.  You didn't break that with this patch, but it's still wrong.
> 
> Seems to have been "broken" back in 834a6da4f7 - the old table based
> approach doesn't seem to have imposed lower limits. I'm not really sure
> whether making the limits consistent and updating the docs or removing
> them alltogether is the better approach.

I'm surprised the error has survived this long.  Without checking I
can't say what's the best solution either, but I would opt for
documenting the limits we have -- if we want to change them back to 0 I
say that merits its own discussion.

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



Re: [COMMITTERS] pgsql: Lower *_freeze_max_age minimum values.

From
Andres Freund
Date:
On 2015-09-24 12:39:54 -0300, Alvaro Herrera wrote:
> Andres Freund wrote:
> > On 2015-09-24 10:37:33 -0400, Tom Lane wrote:
> > > Andres Freund <andres@anarazel.de> writes:
> 
> > > Should this patch not have also touched the per-table limits in
> > > reloptions.c?
> > 
> > Hm. I guess that'd make sense. It's not really related to the goal of
> > making it realistic to test multixact/clog truncation, but it's less
> > confusing if consistent.
> 
> Yeah, agreed.

Pushed. I actually noticed that the lower limit reloption
multixact_freeze_max_age in reloptions was wrong independent of recent
commits.

> > > and I found places in create_table.sgml that claim these variables can be
> > > set to zero.  You didn't break that with this patch, but it's still wrong.
> > 
> > Seems to have been "broken" back in 834a6da4f7 - the old table based
> > approach doesn't seem to have imposed lower limits. I'm not really sure
> > whether making the limits consistent and updating the docs or removing
> > them alltogether is the better approach.
> 
> I'm surprised the error has survived this long.  Without checking I
> can't say what's the best solution either, but I would opt for
> documenting the limits we have -- if we want to change them back to 0 I
> say that merits its own discussion.

How about simply removing that sentence? I.e. something like     <literal>autovacuum_freeze_max_age</> larger than the
system-widesetting
 
-     (it can only be set smaller). Note that while you can set
-     <literal>autovacuum_freeze_max_age</> very small, or even zero, this is
-     usually unwise since it will force frequent vacuuming.
+     (it can only be set smaller).     </para>

Greetings,

Andres Freund



Re: [COMMITTERS] pgsql: Lower *_freeze_max_age minimum values.

From
Tom Lane
Date:
Andres Freund <andres@anarazel.de> writes:
> On 2015-09-24 12:39:54 -0300, Alvaro Herrera wrote:
>> I'm surprised the error has survived this long.  Without checking I
>> can't say what's the best solution either, but I would opt for
>> documenting the limits we have -- if we want to change them back to 0 I
>> say that merits its own discussion.

> How about simply removing that sentence? I.e. something like
>       <literal>autovacuum_freeze_max_age</> larger than the system-wide setting
> -     (it can only be set smaller). Note that while you can set
> -     <literal>autovacuum_freeze_max_age</> very small, or even zero, this is
> -     usually unwise since it will force frequent vacuuming.
> +     (it can only be set smaller).
>       </para>

How about "Setting autovacuum_freeze_max_age to very small values
is unwise since it will force frequent vacuuming."
        regards, tom lane



Re: [COMMITTERS] pgsql: Lower *_freeze_max_age minimum values.

From
Andres Freund
Date:
On 2015-10-05 09:39:58 -0400, Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > How about simply removing that sentence? I.e. something like
> >       <literal>autovacuum_freeze_max_age</> larger than the system-wide setting
> > -     (it can only be set smaller). Note that while you can set
> > -     <literal>autovacuum_freeze_max_age</> very small, or even zero, this is
> > -     usually unwise since it will force frequent vacuuming.
> > +     (it can only be set smaller).
> >       </para>
> 
> How about "Setting autovacuum_freeze_max_age to very small values
> is unwise since it will force frequent vacuuming."

Well, you still can't really set it to a very small value - the lower
limits are still 100k/10k for xids/mxids. To me that sentence mostly
made sense with the old logic where no lower limits existed.

Andres



Re: [COMMITTERS] pgsql: Lower *_freeze_max_age minimum values.

From
Tom Lane
Date:
Andres Freund <andres@anarazel.de> writes:
> On 2015-10-05 09:39:58 -0400, Tom Lane wrote:
>> How about "Setting autovacuum_freeze_max_age to very small values
>> is unwise since it will force frequent vacuuming."

> Well, you still can't really set it to a very small value - the lower
> limits are still 100k/10k for xids/mxids. To me that sentence mostly
> made sense with the old logic where no lower limits existed.

Good point.  Agreed, let's just flush it.
        regards, tom lane