BUG #3326: Invalid lower bound of autovacuum_cost_limit
От | Galy Lee |
---|---|
Тема | BUG #3326: Invalid lower bound of autovacuum_cost_limit |
Дата | |
Msg-id | 200705310914.l4V9E6JA094603@wwwmaster.postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #3326: Invalid lower bound of autovacuum_cost_limit
Re: BUG #3326: Invalid lower bound of autovacuum_cost_limit |
Список | pgsql-bugs |
The following bug has been logged online: Bug reference: 3326 Logged by: Galy Lee Email address: lee.galy@oss.ntt.co.jp PostgreSQL version: 8.3 Operating system: Red Hat 4. Description: Invalid lower bound of autovacuum_cost_limit Details: Hello I found some bugs which relative to the autovacuum_cost_limit GUC parameter. * Bug-1: Invalid lower bound of autovacuum_cost_limit autovacuum_vacuum_cost_limit should be the following value: autovacuum_vacuum_cost_limit = -1, or [1, 10000] (0 should be prohibited. ) But 0 can also be accepted for autovacuum_vacuum_cost_limit now. This causes zero-division error for autovacuum: ERROR: floating-point exception DETAIL: An invalid floating-point operation was signaled. This probably means an out-of-range result or an invalid operation, such as division by zero. * Bug-2: 0-cost-limit for autovacuum worker When autovacuum_max_workers > autovacuum_vacuum_cost_limit, the above zero-division error also happened. * Bug-3: no GUC constrain check for pg_autovacuum The settings in pg_autovacuum are not checked enough now. Invalid value can be passed to autovacuum, this also causes some columns in pg_autovacuum has inconsistent upper and lower bound with their original GUC constrain. pg_autovacuum colum | definition | GUC constrain --------------------+------------+-------------------------- vac_base_thresh | integer | [0, INT_MAX] vac_scale_factor | real | [0.0, 100.0] anl_base_thresh | integer | [0, INT_MAX] anl_scale_factor | real | [0.0, 100.0] vac_cost_delay | integer | [-1, 1000] vac_cost_limit | integer | [-1, 10000] freeze_min_age | integer | [0, 1000000000] freeze_max_age | integer | [100000000, 2000000000] The above table shows the wrong mapping between pg_autovacuum columns and GUC constrain.
В списке pgsql-bugs по дате отправления: