PostgreSQL version: 8.4.0 Operating system: all versions If we set FILLFACTOR to a table, autovacuum parameters in postgresql.conf will not affect to the table; default values are always used.
In 8.4.0, we create StdRdOptions if a relation has some fields in pg_class.reloption. Then, unspecified fields are filled with the default values. The values are always hard-coded default values and don't reflect current GUC settings. For example: pg_class.reloptions = {fillfactor=70} makes StdRdOptions { fillfactor=70, vacuum_scale_factor=0.2, ... } ~~~~~~~~~~~~~~~~~~~~~~~ always default To fix the bug, each field in StdRdOptions should have "not-specified" flag. If not specified, autovacuum should use current GUC settings instead of reloptions. Is it possible to change the default values of reloptions to some magic number (-1 or so) ? There might be another idea that we fill StdRdOptions with current GUC settings instead of hard-coded default values. It looks cleaner, but we need to treat dynamic default values and invalidate reloptions if we reload settings. How do we fix it? Regards, --- ITAGAKI Takahiro NTT Open Source Software Center -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs