Thread: Incorrect description of autovacuum_vacuum_threshold andautovacuum_vacuum_scale_factor

Incorrect description of autovacuum_vacuum_threshold andautovacuum_vacuum_scale_factor

From
PG Doc comments form
Date:
The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/10/static/runtime-config-autovacuum.html
Description:

This page lists the different autovacuum options. Describing
autovacuum_vacuum_threshold and autovacuum_vacuum_scale_factor independently
adds confusion unless you are also reading
https://www.postgresql.org/docs/10/static/routine-vacuuming.html#AUTOVACUUM
where we have a formula for the threshold and scale factor.

I suggest adding a reference for each one of the two parameters with a link
to the "Routine Vacuuming" section.

On 2018-Sep-27, PG Doc comments form wrote:

> Page: https://www.postgresql.org/docs/10/static/runtime-config-autovacuum.html
> 
> This page lists the different autovacuum options. Describing
> autovacuum_vacuum_threshold and autovacuum_vacuum_scale_factor independently
> adds confusion unless you are also reading
> https://www.postgresql.org/docs/10/static/routine-vacuuming.html#AUTOVACUUM
> where we have a formula for the threshold and scale factor.

True.

> I suggest adding a reference for each one of the two parameters with a link
> to the "Routine Vacuuming" section.

I suggest adding "This number is added to the number coming from the
autovacuum_vacuum_scale_factor parameter for each table" just before the
"This parameter can only be set" phrase.  So we'd end up with this:

autovacuum_vacuum_threshold (integer)
Specifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. The default is
50tuples. This number is added to the number coming from the autovacuum_vacuum_scale_factor parameter for each table.
Thisparameter can only be set in the postgresql.conf file or on the server command line; but the setting can be
overriddenfor individual tables by changing table storage parameters.
 

autovacuum_vacuum_scale_factor (floating point)
Specifies a fraction of the table size to add to autovacuum_vacuum_threshold when deciding whether to trigger a VACUUM.
Thedefault is 0.2 (20% of table size). This number is added to the autovacuum_vacuum_threshold parameter for each
table. This parameter can only be set in the postgresql.conf file or on the server command line; but the setting can be
overriddenfor individual tables by changing table storage parameters.
 

Same for the analyze parameters.

I suppose we don't need any updates to the section of
https://www.postgresql.org/docs/10/static/sql-createtable.html that
explains the equivalent reloptions, since those ones are very succint
anyway.

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


El jue., 27 sept. 2018 a las 18:05, Alvaro Herrera
(<alvherre@2ndquadrant.com>) escribió:
>
> I suggest adding "This number is added to the number coming from the
> autovacuum_vacuum_scale_factor parameter for each table" just before the
> "This parameter can only be set" phrase.  So we'd end up with this:
>
> autovacuum_vacuum_threshold (integer)
> Specifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. The default is
50tuples. This number is added to the number coming from the autovacuum_vacuum_scale_factor parameter for each table.
Thisparameter can only be set in the postgresql.conf file or on the server command line; but the setting can be
overriddenfor individual tables by changing table storage parameters. 
>
> autovacuum_vacuum_scale_factor (floating point)
> Specifies a fraction of the table size to add to autovacuum_vacuum_threshold when deciding whether to trigger a
VACUUM.The default is 0.2 (20% of table size). This number is added to the autovacuum_vacuum_threshold parameter for
eachtable.  This parameter can only be set in the postgresql.conf file or on the server command line; but the setting
canbe overridden for individual tables by changing table storage parameters. 

That looks very good IMO.

--
Martín Marqués
It’s not that I have something to hide,
it’s that I have nothing I want you to see