From: | Itagaki Takahiro <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | fillfactor hides autovacuum parameters in 8.4.0 |
Date: | 2009-08-18 10:11:27 |
Message-ID: | 20090818185219.9DA6.52131E4D@oss.ntt.co.jp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-hackers |
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
From | Date | Subject | |
---|---|---|---|
Next Message | veneti | 2009-08-18 10:35:16 | BUG #4991: problem with ODBC driver 8.4 |
Previous Message | Robert Haas | 2009-08-18 02:14:51 | Re: BUG #4971: Backend crash while doing nothing... |
From | Date | Subject | |
---|---|---|---|
Next Message | simon@2ndquadrant.com | 2009-08-18 10:13:08 | Lazy Snapshots |
Previous Message | Mark Cave-Ayland | 2009-08-18 09:21:11 | Re: Another try at reducing repeated detoast work for PostGIS |